<html>
<head><script>
var $gwt_version = "1.5.0";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $stats = $wnd.__gwtstatsEvent ? function(a,b,c,d) {$wnd.__gwtstatsEvent(a,b,c,d)} : null;
</script></head>
<body>
<script><!--
$stats && $stats('com.sfeir.poc.portal.gui.SfeirPortal', 'startup', 'moduleEvalStart', {millis:(new Date()).getTime()});
var _, N8000000000000000_longLit = [0, -9223372036854775808], P0_longLit = [0, 0], P50_longLit = [80, 0], P1000000_longLit = [16777216, 0], P7fffffffffffffff_longLit = [4294967295, 9223372032559808512];
function equals_3(other){
  return (this == null?null:this) === (other == null?null:other);
}

function getClass_92(){
  return Ljava_lang_Object_2_classlit;
}

function hashCode_4(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_10(){
  return (this.typeMarker$ == nullMethod || this.typeId$ == 2?this.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classlit).typeName + '@' + toPowerOfTwoString(this.typeMarker$ == nullMethod || this.typeId$ == 2?this.hashCode$():this.$H || (this.$H = ++sNextHashId), 4);
}

function Object_0(){
}

_ = Object_0.prototype = {};
_.equals$ = equals_3;
_.getClass$ = getClass_92;
_.hashCode$ = hashCode_4;
_.toString$ = toString_10;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
_.typeId$ = 1;
function $clinit(){
  $clinit = nullMethod;
  dragHandles = $HashMap(new HashMap());
  $wnd.$GWT_DND_VERSION = '2.5.2';
}

function $clearSelection(this$static){
  var iterator, widget;
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); iterator.i_0 < iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(iterator), 2);
    setStyleName(widget.element, 'dragdrop-selected', false);
    $remove_6(iterator);
  }
}

function $makeDraggable(this$static, draggable, dragHandle){
  $makeDraggable_0(this$static.mouseDragHandler, draggable, dragHandle);
  setStyleName(draggable.element, 'dragdrop-draggable', true);
  setStyleName(dragHandle.element, 'dragdrop-handle', true);
  dynamicCast($put(dragHandles, draggable, dragHandle), 2);
}

function $setBehaviorMultipleSelection(this$static, multipleSelectionAllowed){
  var iterator, widget;
  this$static.multipleSelectionAllowed = multipleSelectionAllowed;
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); iterator.i_0 < iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(iterator), 2);
    setStyleName(widget.element, 'dragdrop-selected', false);
    $remove_6(iterator);
  }
}

function $toggleSelection(this$static, draggable){
  if ($remove_8(this$static.context.selectedWidgets, draggable)) {
    setStyleName(draggable.element, 'dragdrop-selected', false);
  }
   else if (this$static.multipleSelectionAllowed) {
    $add_6(this$static.context.selectedWidgets, draggable);
    setStyleName(draggable.element, 'dragdrop-selected', true);
  }
   else {
    $clear_0(this$static.context.selectedWidgets);
    $add_6(this$static.context.selectedWidgets, draggable);
  }
}

function getClass_0(){
  return Lcom_allen_1sauer_gwt_dnd_client_AbstractDragController_2_classlit;
}

function AbstractDragController(){
}

_ = AbstractDragController.prototype = new Object_0();
_.getClass$ = getClass_0;
_.typeId$ = 0;
_.boundaryPanel = null;
_.constrainedToBoundaryPanel = false;
_.context = null;
_.dragStartSensitivityPixels = 0;
_.mouseDragHandler = null;
_.multipleSelectionAllowed = false;
var dragHandles;
function $DeferredMoveCommand(this$static, mouseDragHandler){
  this$static.mouseDragHandler = mouseDragHandler;
  return this$static;
}

function $execute(this$static){
  if (eq(this$static.scheduledTimeMillis, P0_longLit)) {
    return;
  }
  $actualMove(this$static.mouseDragHandler, this$static.x, this$static.y);
  this$static.mostRecentTotalTime = sub(fromDouble((new Date()).getTime()), this$static.scheduledTimeMillis);
  this$static.scheduledTimeMillis = P0_longLit;
}

function $scheduleOrExecute(this$static, x, y){
  this$static.x = x;
  this$static.y = y;
  if (eq(this$static.scheduledTimeMillis, P0_longLit)) {
    this$static.scheduledTimeMillis = fromDouble((new Date()).getTime());
  }
  if (compare_0(this$static.mostRecentTotalTime, P50_longLit) > 0) {
    addCommand(this$static);
  }
   else {
    $execute(this$static);
  }
}

function execute(){
  $execute(this);
}

function getClass_1(){
  return Lcom_allen_1sauer_gwt_dnd_client_DeferredMoveCommand_2_classlit;
}

function DeferredMoveCommand(){
}

_ = DeferredMoveCommand.prototype = new Object_0();
_.execute = execute;
_.getClass$ = getClass_1;
_.typeId$ = 3;
_.mostRecentTotalTime = P0_longLit;
_.mouseDragHandler = null;
_.scheduledTimeMillis = P0_longLit;
_.x = 0;
_.y = 0;
function $DragContext(this$static, dragController){
  this$static.selectedWidgets = $ArrayList(new ArrayList());
  this$static.dragController = dragController;
  this$static.boundaryPanel = dragController.boundaryPanel;
  return this$static;
}

function $dragEndCleanup(this$static){
  this$static.dropController = null;
  this$static.draggable = null;
}

function getClass_2(){
  return Lcom_allen_1sauer_gwt_dnd_client_DragContext_2_classlit;
}

function DragContext(){
}

_ = DragContext.prototype = new Object_0();
_.getClass$ = getClass_2;
_.typeId$ = 0;
_.boundaryPanel = null;
_.desiredDraggableX = 0;
_.desiredDraggableY = 0;
_.dragController = null;
_.draggable = null;
_.dropController = null;
_.mouseX = 0;
_.mouseY = 0;
_.vetoException = null;
function $DropControllerCollection(this$static, dropControllerList){
  this$static.dropControllerList = dropControllerList;
  return this$static;
}

function $getIntersectDropController(this$static, x, y){
  var candidate, i_0, location, targetArea;
  location = $CoordinateLocation(new CoordinateLocation(), x, y);
  for (i_0 = this$static.sortedCandidates.length - 1; i_0 >= 0; --i_0) {
    candidate = this$static.sortedCandidates[i_0];
    targetArea = candidate.targetArea;
    if (targetArea.left_0 <= location.left_0 && location.left_0 <= targetArea.right && targetArea.top_0 <= location.top_0 && location.top_0 <= targetArea.bottom) {
      return candidate.dropController;
    }
  }
  return null;
}

function $resetCache(this$static, boundaryPanel, context){
  var boundaryArea, candidate, dropController, dropController$iterator, list;
  list = $ArrayList(new ArrayList());
  if (context.draggable) {
    boundaryArea = $WidgetArea(new WidgetArea(), boundaryPanel, true);
    for (dropController$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.dropControllerList); dropController$iterator.i_0 < dropController$iterator.this$0.size_0();) {
      dropController = dynamicCast($next_1(dropController$iterator), 3);
      candidate = $DropControllerCollection$Candidate(new DropControllerCollection$Candidate(), dropController);
      if ($isOrHasChild(context.draggable.element, candidate.dropController.getDropTarget().element)) {
        continue;
      }
      if ($intersects(candidate.targetArea, boundaryArea)) {
        setCheck(list.array, list.size++, candidate);
      }
    }
  }
  this$static.sortedCandidates = dynamicCast($toArray(list, initDim(_3Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classlit, 91, 4, list.size, 0)), 11);
  sort(this$static.sortedCandidates);
}

function getClass_4(){
  return Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection_2_classlit;
}

function DropControllerCollection(){
}

_ = DropControllerCollection.prototype = new Object_0();
_.getClass$ = getClass_4;
_.typeId$ = 0;
_.dropControllerList = null;
_.sortedCandidates = null;
function $DropControllerCollection$Candidate(this$static, dropController){
  var target;
  this$static.dropController = dropController;
  target = dropController.getDropTarget();
  if (!target.attached) {
    throw $IllegalStateException(new IllegalStateException(), 'Unattached drop target. You must call DragController#unregisterDropController for all drop targets not attached to the DOM.');
  }
  this$static.targetArea = $WidgetArea(new WidgetArea(), target, true);
  return this$static;
}

function compareTo(other){
  var myElement, otherElement;
  myElement = this.dropController.getDropTarget().element;
  otherElement = other.dropController.getDropTarget().element;
  if (myElement == otherElement) {
    return 0;
  }
   else if (myElement === otherElement || myElement.contains(otherElement)) {
    return -1;
  }
   else if (otherElement === myElement || otherElement.contains(myElement)) {
    return 1;
  }
   else {
    return 0;
  }
}

function equals(other){
  throw $RuntimeException(new RuntimeException(), 'hash code not implemented');
}

function getClass_3(){
  return Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classlit;
}

function hashCode_0(){
  throw $RuntimeException(new RuntimeException(), 'hash code not implemented');
}

function DropControllerCollection$Candidate(){
}

_ = DropControllerCollection$Candidate.prototype = new Object_0();
_.compareTo$ = compareTo;
_.equals$ = equals;
_.getClass$ = getClass_3;
_.hashCode$ = hashCode_0;
_.typeId$ = 4;
_.dropController = null;
_.targetArea = null;
function $MouseDragHandler(this$static, context){
  this$static.deferredMoveCommand = $DeferredMoveCommand(new DeferredMoveCommand(), this$static);
  this$static.dragHandleMap = $HashMap(new HashMap());
  this$static.context = context;
  this$static.capturingWidget = $FocusPanel(new FocusPanel());
  $setPixelSize(this$static.capturingWidget, 0, 0);
  $add_0(($clinit_95() , get_0(null)), this$static.capturingWidget, 0, 0);
  $addMouseListener(this$static.capturingWidget, this$static);
  this$static.capturingWidget.element.style['visibility'] = 'hidden';
  this$static.capturingWidget.element.style['margin'] = '0px';
  this$static.capturingWidget.element.style['border'] = 'none';
  return this$static;
}

function $actualMove(this$static, x, y){
  this$static.context.mouseX = x;
  this$static.context.mouseY = y;
  this$static.context.desiredDraggableX = x - this$static.mouseDownOffsetX;
  this$static.context.desiredDraggableY = y - this$static.mouseDownOffsetY;
  $dragMove(this$static.context.dragController);
}

function $doSelectionToggle(this$static, event_0){
  var widget;
  widget = dynamicCast($get_0(this$static.dragHandleMap, this$static.mouseDownWidget), 2);
  if (!(!!event_0.ctrlKey || !!event_0.metaKey)) {
    $clearSelection(this$static.context.dragController);
  }
  $toggleSelection(this$static.context.dragController, widget);
}

function $drop(this$static, x, y){
  var $e0, ex;
  $actualMove(this$static, x, y);
  try {
    $previewDragEnd(this$static.context.dragController);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 12)) {
      ex = $e0;
      this$static.context.vetoException = ex;
    }
     else 
      throw $e0;
  }
  $dragEnd(this$static.context.dragController);
}

function $makeDraggable_0(this$static, draggable, dragHandle){
  if (dragHandle) {
    $addMouseListener_0(dragHandle, this$static);
    dynamicCast($put(this$static.dragHandleMap, dragHandle, draggable), 2);
  }
   else {
    throw $RuntimeException(new RuntimeException(), 'dragHandle must implement SourcesMouseEvents to be draggable');
  }
}

function $onMouseDown(this$static, sender, x, y){
  var button, event_0, loc1, loc2;
  if (this$static.dragging == 3 || this$static.dragging == 2) {
    return;
  }
  event_0 = currentEvent;
  button = event_0.button || -1;
  if (button != 1) {
    return;
  }
  this$static.mouseDownWidget = sender;
  this$static.context.draggable = dynamicCast($get_0(this$static.dragHandleMap, this$static.mouseDownWidget), 2);
  if (!(!!event_0.ctrlKey || !!event_0.metaKey) && $indexOf_2(this$static.context.selectedWidgets, this$static.mouseDownWidget, 0) == -1) {
    $clearSelection(this$static.context.dragController);
    $toggleSelection(this$static.context.dragController, this$static.context.draggable);
  }
  addCommand(new MouseDragHandler$1());
  this$static.mouseDown = true;
  event_0.returnValue = false;
  this$static.mouseDownOffsetX = x;
  this$static.mouseDownOffsetY = y;
  loc1 = $WidgetLocation(new WidgetLocation(), this$static.mouseDownWidget, null);
  if (this$static.mouseDownWidget != this$static.context.draggable) {
    loc2 = $WidgetLocation(new WidgetLocation(), this$static.context.draggable, null);
    this$static.mouseDownOffsetX += loc1.left_0 - loc2.left_0;
    this$static.mouseDownOffsetY += loc1.top_0 - loc2.top_0;
  }
  if (this$static.context.dragController.dragStartSensitivityPixels == 0 && !(!!event_0.ctrlKey || !!event_0.metaKey)) {
    this$static.context.mouseX = x + loc1.left_0;
    this$static.context.mouseY = y + loc1.top_0;
    $startDragging(this$static);
    $actualMove(this$static, this$static.context.mouseX, this$static.context.mouseY);
  }
}

function $onMouseLeave(this$static){
  if (this$static.mouseDown && this$static.dragging == 1) {
    $startDragging(this$static);
  }
}

function $onMouseMove(this$static, sender, x, y){
  var location;
  if (this$static.dragging == 3 || this$static.dragging == 2) {
    if (sender != this$static.capturingWidget) {
      return;
    }
    this$static.dragging = 3;
  }
   else {
    if (this$static.mouseDown) {
      if (max(abs(x - this$static.mouseDownOffsetX), abs(y - this$static.mouseDownOffsetY)) >= this$static.context.dragController.dragStartSensitivityPixels) {
        $cancelAllDocumentSelections();
        if ($indexOf_2(this$static.context.selectedWidgets, this$static.context.draggable, 0) == -1) {
          $toggleSelection(this$static.context.dragController, this$static.context.draggable);
        }
        $startDragging(this$static);
        location = $WidgetLocation(new WidgetLocation(), this$static.mouseDownWidget, null);
        x += location.left_0;
        y += location.top_0;
      }
    }
    if (this$static.dragging == 1) {
      return;
    }
  }
  currentEvent.returnValue = false;
  $scheduleOrExecute(this$static.deferredMoveCommand, x, y);
}

function $onMouseUp(this$static, sender, x, y){
  var button, event_0, location;
  event_0 = currentEvent;
  button = event_0.button || -1;
  if (button != 1) {
    return;
  }
  this$static.mouseDown = false;
  if (!this$static.mouseDownWidget) {
    return;
  }
  $cancelAllDocumentSelections();
  if (this$static.dragging == 1) {
    $doSelectionToggle(this$static, event_0);
    return;
  }
  if (sender != this$static.capturingWidget) {
    location = $WidgetLocation(new WidgetLocation(), sender, null);
    x += location.left_0;
    y += location.top_0;
  }
  try {
    $drop(this$static, x, y);
    if (this$static.dragging != 3) {
      $doSelectionToggle(this$static, event_0);
    }
  }
   finally {
    releaseCapture(this$static.capturingWidget.element);
    this$static.dragging = 1;
    $dragEndCleanup(this$static.context);
  }
}

function $startDragging(this$static){
  this$static.context.vetoException = null;
  $dragStart(this$static.context.dragController);
  setCapture(this$static.capturingWidget.element);
  this$static.dragging = 2;
}

function getClass_6(){
  return Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler_2_classlit;
}

function MouseDragHandler(){
}

_ = MouseDragHandler.prototype = new Object_0();
_.getClass$ = getClass_6;
_.typeId$ = 5;
_.capturingWidget = null;
_.context = null;
_.dragging = 1;
_.mouseDown = false;
_.mouseDownOffsetX = 0;
_.mouseDownOffsetY = 0;
_.mouseDownWidget = null;
function execute_0(){
  $cancelAllDocumentSelections();
}

function getClass_5(){
  return Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler$1_2_classlit;
}

function MouseDragHandler$1(){
}

_ = MouseDragHandler$1.prototype = new Object_0();
_.execute = execute_0;
_.getClass$ = getClass_5;
_.typeId$ = 6;
function $clinit_9(){
  $clinit_9 = nullMethod;
  $clinit();
}

function $PickupDragController(this$static, boundaryPanel, allowDroppingOnBoundaryPanel){
  $clinit_9();
  this$static.boundaryPanel = boundaryPanel;
  this$static.context = $DragContext(new DragContext(), this$static);
  this$static.mouseDragHandler = $MouseDragHandler(new MouseDragHandler(), this$static.context);
  this$static.dropControllerList = $ArrayList(new ArrayList());
  this$static.boundaryDropController = $BoundaryDropController(new BoundaryDropController(), boundaryPanel, allowDroppingOnBoundaryPanel);
  $add_6(this$static.dropControllerList, this$static.boundaryDropController);
  this$static.dropControllerCollection = $DropControllerCollection(new DropControllerCollection(), this$static.dropControllerList);
  return this$static;
}

function $dragEnd(this$static){
  if (this$static.context.vetoException) {
    $restoreSelectedWidgetsLocation(this$static);
  }
   else {
    this$static.context.dropController.onDrop(this$static.context);
  }
  this$static.context.dropController.onLeave(this$static.context);
  this$static.context.dropController = null;
  $restoreSelectedWidgetsStyle(this$static);
  $removeFromParent(this$static.movablePanel);
  this$static.movablePanel = null;
  setStyleName(this$static.context.draggable.element, 'dragdrop-dragging', false);
}

function $dragMove(this$static){
  var desiredLeft, desiredTop, newDropController;
  desiredLeft = this$static.context.desiredDraggableX - this$static.boundaryOffsetX;
  desiredTop = this$static.context.desiredDraggableY - this$static.boundaryOffsetY;
  if (this$static.constrainedToBoundaryPanel) {
    desiredLeft = max(0, min(desiredLeft, this$static.dropTargetClientWidth - (parseInt(this$static.context.draggable.element['offsetWidth']) || 0)));
    desiredTop = max(0, min(desiredTop, this$static.dropTargetClientHeight - (parseInt(this$static.context.draggable.element['offsetHeight']) || 0)));
  }
  fastSetElementPosition(this$static.movablePanel.element, desiredLeft, desiredTop);
  newDropController = $getIntersectDropController_0(this$static, this$static.context.mouseX, this$static.context.mouseY);
  if (this$static.context.dropController != newDropController) {
    if (this$static.context.dropController) {
      this$static.context.dropController.onLeave(this$static.context);
    }
    this$static.context.dropController = newDropController;
    if (this$static.context.dropController) {
      this$static.context.dropController.onEnter(this$static.context);
    }
  }
  if (this$static.context.dropController) {
    this$static.context.dropController.onMove(this$static.context);
  }
}

function $dragStart(this$static){
  var container, currentDraggableLocation, draggableAbsoluteLeft, draggableAbsoluteTop, location, relativeX, relativeY, widget, widget$iterator, widgetLocation;
  $resetCache(this$static.dropControllerCollection, this$static.boundaryPanel, this$static.context);
  setStyleName(this$static.context.draggable.element, 'dragdrop-dragging', true);
  currentDraggableLocation = $WidgetLocation(new WidgetLocation(), this$static.context.draggable, this$static.context.boundaryPanel);
  $saveSelectedWidgetsLocationAndStyle(this$static);
  container = $AbsolutePanel(new AbsolutePanel());
  container.element.style['overflow'] = 'visible';
  $setPixelSize(container, parseInt(this$static.context.draggable.element['offsetWidth']) || 0, parseInt(this$static.context.draggable.element['offsetHeight']) || 0);
  $add_0(this$static.context.boundaryPanel, container, currentDraggableLocation.left_0, currentDraggableLocation.top_0);
  draggableAbsoluteLeft = this$static.context.draggable.element.getBoundingClientRect().left + ($clinit_67() , documentRoot).scrollLeft - documentRoot.clientLeft;
  draggableAbsoluteTop = this$static.context.draggable.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop;
  widgetLocation = $HashMap(new HashMap());
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    dynamicCast($put(widgetLocation, widget, $CoordinateLocation(new CoordinateLocation(), widget.element.getBoundingClientRect().left + documentRoot.scrollLeft - documentRoot.clientLeft, widget.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop)), 13);
  }
  this$static.context.dropController = $getIntersectDropController_0(this$static, this$static.context.mouseX, this$static.context.mouseY);
  if (this$static.context.dropController) {
    this$static.context.dropController.onEnter(this$static.context);
  }
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    location = dynamicCast(!widget?widgetLocation.nullSlot:$getHashValue(widgetLocation, widget, widget.$H || (widget.$H = ++sNextHashId)), 13);
    relativeX = location.left_0 - draggableAbsoluteLeft;
    relativeY = location.top_0 - draggableAbsoluteTop;
    $removeFromParent(widget);
    $setWidgetPositionImpl(widget, relativeX, relativeY);
    $add_1(container, widget, container.element);
  }
  this$static.movablePanel = container;
  setStyleName(this$static.movablePanel.element, 'dragdrop-movable-panel', true);
  widgetLocation = $WidgetLocation(new WidgetLocation(), this$static.context.boundaryPanel, null);
  this$static.boundaryOffsetX = widgetLocation.left_0 + this$static.context.boundaryPanel.element.clientLeft;
  this$static.boundaryOffsetY = widgetLocation.top_0 + this$static.context.boundaryPanel.element.clientTop;
  this$static.dropTargetClientWidth = this$static.boundaryPanel.element.clientWidth;
  this$static.dropTargetClientHeight = this$static.boundaryPanel.element.clientHeight;
}

function $getIntersectDropController_0(this$static, x, y){
  var dropController;
  dropController = $getIntersectDropController(this$static.dropControllerCollection, x, y);
  return dropController?dropController:this$static.boundaryDropController;
}

function $previewDragEnd(this$static){
  var $e0, ex;
  try {
    this$static.context.dropController.onPreviewDrop(this$static.context);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 12)) {
      ex = $e0;
      throw ex;
    }
     else 
      throw $e0;
  }
}

function $restoreSelectedWidgetsLocation(this$static){
  var info, widget, widget$iterator;
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    info = dynamicCast($get_0(this$static.savedWidgetInfoMap, widget), 14);
    if (instanceOf(info.initialDraggableParent, 15)) {
      $add_0(dynamicCast(info.initialDraggableParent, 15), widget, info.initialDraggableParentLocation.left_0, info.initialDraggableParentLocation.top_0);
    }
     else if (instanceOf(info.initialDraggableParent, 16)) {
      $insert_0(dynamicCast(info.initialDraggableParent, 16), widget, info.initialDraggableIndex);
    }
     else if (instanceOf(info.initialDraggableParent, 17)) {
      $insert_1(dynamicCast(info.initialDraggableParent, 17), widget, info.initialDraggableIndex);
    }
     else if (instanceOf(info.initialDraggableParent, 18)) {
      $setWidget(dynamicCast(info.initialDraggableParent, 18), widget);
    }
     else {
      throw $RuntimeException(new RuntimeException(), 'Unable to handle initialDraggableParent ' + info.initialDraggableParent.getClass$().typeName);
    }
  }
}

function $restoreSelectedWidgetsStyle(this$static){
  var info, widget, widget$iterator;
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    info = dynamicCast($get_0(this$static.savedWidgetInfoMap, widget), 14);
    widget.element.style['margin'] = info.initialDraggableMargin;
  }
}

function $saveSelectedWidgetsLocationAndStyle(this$static){
  var info, widget, widget$iterator;
  this$static.savedWidgetInfoMap = $HashMap(new HashMap());
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    info = new PickupDragController$SavedWidgetInfo();
    info.initialDraggableParent = widget.parent;
    if (instanceOf(info.initialDraggableParent, 15)) {
      info.initialDraggableParentLocation = $WidgetLocation(new WidgetLocation(), widget, info.initialDraggableParent);
    }
     else if (instanceOf(info.initialDraggableParent, 16)) {
      info.initialDraggableIndex = $indexOf(dynamicCast(info.initialDraggableParent, 16).children_0, widget);
    }
     else if (instanceOf(info.initialDraggableParent, 17)) {
      info.initialDraggableIndex = $indexOf(dynamicCast(info.initialDraggableParent, 17).children_0, widget);
    }
     else if (instanceOf(info.initialDraggableParent, 18)) {
    }
     else {
      throw $RuntimeException(new RuntimeException(), "Unable to handle 'initialDraggableParent instanceof " + info.initialDraggableParent.getClass$().typeName + "'; Please create your own DragController and override saveDraggableLocationAndStyle() and restoreDraggableLocation()");
    }
    info.initialDraggableMargin = widget.element.style['margin'];
    widget.element.style['margin'] = '0px';
    dynamicCast($put(this$static.savedWidgetInfoMap, widget, info), 14);
  }
}

function getClass_8(){
  return Lcom_allen_1sauer_gwt_dnd_client_PickupDragController_2_classlit;
}

function PickupDragController(){
}

_ = PickupDragController.prototype = new AbstractDragController();
_.getClass$ = getClass_8;
_.typeId$ = 0;
_.boundaryDropController = null;
_.boundaryOffsetX = 0;
_.boundaryOffsetY = 0;
_.dropControllerCollection = null;
_.dropTargetClientHeight = 0;
_.dropTargetClientWidth = 0;
_.movablePanel = null;
_.savedWidgetInfoMap = null;
function getClass_7(){
  return Lcom_allen_1sauer_gwt_dnd_client_PickupDragController$SavedWidgetInfo_2_classlit;
}

function PickupDragController$SavedWidgetInfo(){
}

_ = PickupDragController$SavedWidgetInfo.prototype = new Object_0();
_.getClass$ = getClass_7;
_.typeId$ = 7;
_.initialDraggableIndex = 0;
_.initialDraggableMargin = null;
_.initialDraggableParent = null;
_.initialDraggableParentLocation = null;
function getClass_97(){
  return Ljava_lang_Throwable_2_classlit;
}

function toString_14(){
  var className, msg;
  className = this.getClass$().typeName;
  msg = this.detailMessage;
  if (msg != null) {
    return className + ': ' + msg;
  }
   else {
    return className;
  }
}

function Throwable(){
}

_ = Throwable.prototype = new Object_0();
_.getClass$ = getClass_97;
_.toString$ = toString_14;
_.typeId$ = 8;
_.detailMessage = null;
function $Exception(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_84(){
  return Ljava_lang_Exception_2_classlit;
}

function Exception(){
}

_ = Exception.prototype = new Throwable();
_.getClass$ = getClass_84;
_.typeId$ = 9;
function getClass_9(){
  return Lcom_allen_1sauer_gwt_dnd_client_VetoDragException_2_classlit;
}

function VetoDragException(){
}

_ = VetoDragException.prototype = new Exception();
_.getClass$ = getClass_9;
_.typeId$ = 10;
function getClass_12(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractDropController_2_classlit;
}

function getDropTarget(){
  return this.dropTarget_2;
}

function onDrop_0(context){
}

function onEnter_0(context){
  setStyleName(this.dropTarget_2.element, 'dragdrop-dropTarget-engage', true);
}

function onLeave_0(context){
  setStyleName(this.dropTarget_2.element, 'dragdrop-dropTarget-engage', false);
}

function onMove_0(context){
}

function onPreviewDrop(context){
}

function AbstractDropController(){
}

_ = AbstractDropController.prototype = new Object_0();
_.getClass$ = getClass_12;
_.getDropTarget = getDropTarget;
_.onDrop = onDrop_0;
_.onEnter = onEnter_0;
_.onLeave = onLeave_0;
_.onMove = onMove_0;
_.onPreviewDrop = onPreviewDrop;
_.typeId$ = 11;
_.dropTarget_2 = null;
function getClass_14(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractPositioningDropController_2_classlit;
}

function AbstractPositioningDropController(){
}

_ = AbstractPositioningDropController.prototype = new AbstractDropController();
_.getClass$ = getClass_14;
_.typeId$ = 12;
function $clinit_12(){
  $clinit_12 = nullMethod;
  DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT = $Label_0(new Label(), 'x');
}

function $makePositioner(reference){
  var inner, offsetHeight, offsetWidth, outer;
  outer = $SimplePanel(new SimplePanel());
  setStyleName(outer.element, 'dragdrop-positioner', true);
  outer.element.style['margin'] = '0px';
  $add_0(($clinit_95() , get_0(null)), outer, -500, -500);
  $setWidget(outer, DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT);
  inner = $SimplePanel(new SimplePanel());
  inner.element.style['margin'] = '0px';
  inner.element.style['border'] = 'none';
  offsetWidth = (parseInt(reference.element['offsetWidth']) || 0) - ((parseInt(outer.element['offsetWidth']) || 0) - outer.element.clientWidth);
  offsetHeight = (parseInt(reference.element['offsetHeight']) || 0) - ((parseInt(outer.element['offsetHeight']) || 0) - outer.element.clientHeight);
  $setPixelSize(inner, offsetWidth, offsetHeight);
  $setWidget(outer, inner);
  return outer;
}

function getClass_11(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_AbsolutePositionDropController_2_classlit;
}

function makePositioner(reference){
  return $makePositioner(reference);
}

function onDrop(context){
  var draggable, draggable$iterator;
  for (draggable$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this.draggableList); draggable$iterator.i_0 < draggable$iterator.this$0.size_0();) {
    draggable = dynamicCast($next_1(draggable$iterator), 19);
    $removeFromParent(draggable.positioner);
    $add_0(this.dropTarget, draggable.widget, draggable.desiredX, draggable.desiredY);
  }
}

function onEnter(context){
  var draggable, draggableAbsoluteLeft, draggableAbsoluteTop, dropTargetLocation, widget, widget$iterator;
  setStyleName(this.dropTarget_2.element, 'dragdrop-dropTarget-engage', true);
  this.dropTargetClientWidth = this.dropTarget.element.clientWidth;
  this.dropTargetClientHeight = this.dropTarget.element.clientHeight;
  dropTargetLocation = $WidgetLocation(new WidgetLocation(), this.dropTarget, null);
  this.dropTargetOffsetX = dropTargetLocation.left_0 + this.dropTarget.element.clientLeft;
  this.dropTargetOffsetY = dropTargetLocation.top_0 + this.dropTarget.element.clientTop;
  draggableAbsoluteLeft = context.draggable.element.getBoundingClientRect().left + ($clinit_67() , documentRoot).scrollLeft - documentRoot.clientLeft;
  draggableAbsoluteTop = context.draggable.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop;
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    draggable = $AbsolutePositionDropController$Draggable(new AbsolutePositionDropController$Draggable(), widget);
    draggable.positioner = this.makePositioner(widget);
    draggable.relativeX = widget.element.getBoundingClientRect().left + documentRoot.scrollLeft - documentRoot.clientLeft - draggableAbsoluteLeft;
    draggable.relativeY = widget.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop - draggableAbsoluteTop;
    $add_6(this.draggableList, draggable);
  }
}

function onLeave(context){
  var draggable, draggable$iterator;
  for (draggable$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this.draggableList); draggable$iterator.i_0 < draggable$iterator.this$0.size_0();) {
    draggable = dynamicCast($next_1(draggable$iterator), 19);
    $removeFromParent(draggable.positioner);
  }
  $clearImpl_0(this.draggableList);
  setStyleName(this.dropTarget_2.element, 'dragdrop-dropTarget-engage', false);
}

function onMove(context){
  var draggable, draggable$iterator;
  for (draggable$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this.draggableList); draggable$iterator.i_0 < draggable$iterator.this$0.size_0();) {
    draggable = dynamicCast($next_1(draggable$iterator), 19);
    draggable.desiredX = context.desiredDraggableX - this.dropTargetOffsetX + draggable.relativeX;
    draggable.desiredY = context.desiredDraggableY - this.dropTargetOffsetY + draggable.relativeY;
    draggable.desiredX = max(0, min(draggable.desiredX, this.dropTargetClientWidth - draggable.offsetWidth));
    draggable.desiredY = max(0, min(draggable.desiredY, this.dropTargetClientHeight - draggable.offsetHeight));
    $add_0(this.dropTarget, draggable.positioner, draggable.desiredX, draggable.desiredY);
  }
}

function AbsolutePositionDropController(){
}

_ = AbsolutePositionDropController.prototype = new AbstractPositioningDropController();
_.getClass$ = getClass_11;
_.makePositioner = makePositioner;
_.onDrop = onDrop;
_.onEnter = onEnter;
_.onLeave = onLeave;
_.onMove = onMove;
_.typeId$ = 13;
_.dropTarget = null;
_.dropTargetClientHeight = 0;
_.dropTargetClientWidth = 0;
_.dropTargetOffsetX = 0;
_.dropTargetOffsetY = 0;
var DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT;
function $AbsolutePositionDropController$Draggable(this$static, widget){
  this$static.widget = widget;
  this$static.offsetWidth = parseInt(widget.element['offsetWidth']) || 0;
  this$static.offsetHeight = parseInt(widget.element['offsetHeight']) || 0;
  return this$static;
}

function getClass_10(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_AbsolutePositionDropController$Draggable_2_classlit;
}

function AbsolutePositionDropController$Draggable(){
}

_ = AbsolutePositionDropController$Draggable.prototype = new Object_0();
_.getClass$ = getClass_10;
_.typeId$ = 14;
_.desiredX = 0;
_.desiredY = 0;
_.offsetHeight = 0;
_.offsetWidth = 0;
_.positioner = null;
_.relativeX = 0;
_.relativeY = 0;
_.widget = null;
function getClass_13(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractIndexedDropController_2_classlit;
}

function onDrop_1(context){
  var widget, widget$iterator;
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    this.insert(widget, this.dropIndex++);
  }
}

function onEnter_1(context){
  var targetIndex;
  setStyleName(this.dropTarget_2.element, 'dragdrop-dropTarget-engage', true);
  this.positioner = this.newPositioner(context);
  targetIndex = findIntersect(this.dropTarget_1, $CoordinateLocation(new CoordinateLocation(), context.mouseX, context.mouseY), this.getLocationWidgetComparator());
  this.insert(this.positioner, targetIndex);
}

function onLeave_1(context){
  $removeFromParent(this.positioner);
  this.positioner = null;
  setStyleName(this.dropTarget_2.element, 'dragdrop-dropTarget-engage', false);
}

function onMove_1(context){
  var positionerIndex, targetIndex;
  targetIndex = findIntersect(this.dropTarget_1, $CoordinateLocation(new CoordinateLocation(), context.mouseX, context.mouseY), this.getLocationWidgetComparator());
  positionerIndex = $indexOf(this.dropTarget_1.children_0, this.positioner);
  if (positionerIndex != targetIndex && (positionerIndex != targetIndex - 1 || targetIndex == 0)) {
    if (positionerIndex == 0 && this.dropTarget_1.children_0.size == 1) {
    }
     else if (targetIndex == -1) {
      $removeFromParent(this.positioner);
    }
     else {
      this.insert(this.positioner, targetIndex);
    }
  }
}

function onPreviewDrop_0(context){
  this.dropIndex = $indexOf(this.dropTarget_1.children_0, this.positioner);
  if (this.dropIndex == -1) {
    throw new VetoDragException();
  }
}

function AbstractIndexedDropController(){
}

_ = AbstractIndexedDropController.prototype = new AbstractPositioningDropController();
_.getClass$ = getClass_13;
_.onDrop = onDrop_1;
_.onEnter = onEnter_1;
_.onLeave = onLeave_1;
_.onMove = onMove_1;
_.onPreviewDrop = onPreviewDrop_0;
_.typeId$ = 15;
_.dropIndex = 0;
_.dropTarget_1 = null;
_.positioner = null;
function $clinit_16(){
  $clinit_16 = nullMethod;
  $clinit_12();
}

function $BoundaryDropController(this$static, dropTarget, allowDroppingOnBoundaryPanel){
  $clinit_16();
  this$static.dropTarget_2 = dropTarget;
  setStyleName(dropTarget.element, 'dragdrop-dropTarget', true);
  this$static.draggableList = $ArrayList(new ArrayList());
  this$static.dropTarget = dropTarget;
  setStyleName(dropTarget.element, 'dragdrop-boundary', true);
  this$static.allowDroppingOnBoundaryPanel = allowDroppingOnBoundaryPanel;
  return this$static;
}

function getClass_15(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_BoundaryDropController_2_classlit;
}

function makePositioner_0(reference){
  if (this.allowDroppingOnBoundaryPanel) {
    return $makePositioner(reference);
  }
   else {
    return $SimplePanel(new SimplePanel());
  }
}

function onPreviewDrop_1(context){
  if (!this.allowDroppingOnBoundaryPanel) {
    throw new VetoDragException();
  }
}

function BoundaryDropController(){
}

_ = BoundaryDropController.prototype = new AbsolutePositionDropController();
_.getClass$ = getClass_15;
_.makePositioner = makePositioner_0;
_.onPreviewDrop = onPreviewDrop_1;
_.typeId$ = 16;
_.allowDroppingOnBoundaryPanel = true;
function $clinit_18(){
  $clinit_18 = nullMethod;
  DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT_0 = $Label_0(new Label(), 'x');
}

function $IndexedDropController(this$static, dropTarget){
  $clinit_18();
  this$static.dropTarget_2 = dropTarget;
  setStyleName(dropTarget.element, 'dragdrop-dropTarget', true);
  this$static.dropTarget_1 = dropTarget;
  if (!dropTarget) {
    throw $IllegalArgumentException(new IllegalArgumentException(), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classlit.typeName + ' is not currently supported by this controller');
  }
  this$static.dropTarget_0 = dropTarget;
  return this$static;
}

function getClass_16(){
  return Lcom_allen_1sauer_gwt_dnd_client_drop_IndexedDropController_2_classlit;
}

function getLocationWidgetComparator(){
  return $clinit_27() , BOTTOM_HALF_COMPARATOR;
}

function insert(widget, beforeIndex){
  $insert_1(this.dropTarget_0, widget, beforeIndex);
}

function newPositioner(context){
  var height, inner, outer, widget, widget$iterator, width;
  outer = $SimplePanel(new SimplePanel());
  setStyleName(outer.element, 'dragdrop-positioner', true);
  $add_0(($clinit_95() , get_0(null)), outer, -500, -500);
  $setWidget(outer, DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT_0);
  width = 0;
  height = 0;
  for (widget$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), context.selectedWidgets); widget$iterator.i_0 < widget$iterator.this$0.size_0();) {
    widget = dynamicCast($next_1(widget$iterator), 2);
    width = max(width, parseInt(widget.element['offsetWidth']) || 0);
    height += parseInt(widget.element['offsetHeight']) || 0;
  }
  inner = $SimplePanel(new SimplePanel());
  $setPixelSize(inner, width - ((parseInt(outer.element['offsetWidth']) || 0) - outer.element.clientWidth), height - ((parseInt(outer.element['offsetHeight']) || 0) - outer.element.clientHeight));
  $setWidget(outer, inner);
  return outer;
}

function IndexedDropController(){
}

_ = IndexedDropController.prototype = new AbstractIndexedDropController();
_.getClass$ = getClass_16;
_.getLocationWidgetComparator = getLocationWidgetComparator;
_.insert = insert;
_.newPositioner = newPositioner;
_.typeId$ = 17;
_.dropTarget_0 = null;
var DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT_0;
function $intersects(this$static, targetArea){
  if (this$static.right < targetArea.left_0 || this$static.left_0 > targetArea.right || this$static.bottom < targetArea.top_0 || this$static.top_0 > targetArea.bottom) {
    return false;
  }
  return true;
}

function $setBottom(this$static, bottom){
  this$static.bottom = bottom;
}

function $setLeft(this$static, left){
  this$static.left_0 = left;
}

function $setRight(this$static, right){
  this$static.right = right;
}

function $setTop(this$static, top){
  this$static.top_0 = top;
}

function getClass_17(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_AbstractArea_2_classlit;
}

function toString_0(){
  return '[ (' + dynamicCast(this, 20).left_0 + ', ' + dynamicCast(this, 20).top_0 + ') - (' + dynamicCast(this, 20).right + ', ' + dynamicCast(this, 20).bottom + ') ]';
}

function AbstractArea(){
}

_ = AbstractArea.prototype = new Object_0();
_.getClass$ = getClass_17;
_.toString$ = toString_0;
_.typeId$ = 0;
_.bottom = 0;
_.left_0 = 0;
_.right = 0;
_.top_0 = 0;
function getClass_18(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_AbstractLocation_2_classlit;
}

function toString_1(){
  return '(' + this.getLeft() + ', ' + this.getTop() + ')';
}

function AbstractLocation(){
}

_ = AbstractLocation.prototype = new Object_0();
_.getClass$ = getClass_18;
_.toString$ = toString_1;
_.typeId$ = 0;
function $CoordinateLocation(this$static, left, top){
  this$static.left_0 = left;
  this$static.top_0 = top;
  return this$static;
}

function getClass_19(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_CoordinateLocation_2_classlit;
}

function getLeft(){
  return this.left_0;
}

function getTop(){
  return this.top_0;
}

function CoordinateLocation(){
}

_ = CoordinateLocation.prototype = new AbstractLocation();
_.getClass$ = getClass_19;
_.getLeft = getLeft;
_.getTop = getTop;
_.typeId$ = 18;
_.left_0 = 0;
_.top_0 = 0;
function fastSetElementPosition(elem, left, top){
  elem.style['left'] = left + 'px';
  elem.style['top'] = top + 'px';
}

function findIntersect(parent, location){
  var high, low, mid, midArea, widget, widgetCount;
  widgetCount = parent.children_0.size;
  if (widgetCount == 0) {
    return 0;
  }
  low = 0;
  high = widgetCount;
  while (true) {
    mid = ~~((low + high) / 2);
    widget = $get(parent.children_0, mid);
    midArea = $WidgetArea(new WidgetArea(), widget, false);
    if (mid == low) {
      if (mid == 0) {
        if (location.top_0 > midArea.top_0 + ~~((midArea.bottom - midArea.top_0) / 2)) {
          return high;
        }
         else {
          return mid;
        }
      }
       else {
        return high;
      }
    }
    if (midArea.bottom < location.top_0) {
      low = mid;
    }
     else if (midArea.top_0 > location.top_0) {
      high = mid;
    }
     else if (midArea.right < location.left_0) {
      low = mid;
    }
     else if (midArea.left_0 > location.left_0) {
      high = mid;
    }
     else {
      if (location.top_0 > midArea.top_0 + ~~((midArea.bottom - midArea.top_0) / 2)) {
        return mid + 1;
      }
       else {
        return mid;
      }
    }
  }
}

function $clinit_27(){
  $clinit_27 = nullMethod;
  BOTTOM_HALF_COMPARATOR = ($clinit_24() , $clinit_27() , new LocationWidgetComparator$1());
  $clinit_25();
  $clinit_26();
}

function getClass_21(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_LocationWidgetComparator_2_classlit;
}

function LocationWidgetComparator(){
}

_ = LocationWidgetComparator.prototype = new Object_0();
_.getClass$ = getClass_21;
_.typeId$ = 0;
var BOTTOM_HALF_COMPARATOR;
function $clinit_24(){
  $clinit_24 = nullMethod;
  $clinit_27();
}

function getClass_20(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_LocationWidgetComparator$1_2_classlit;
}

function LocationWidgetComparator$1(){
}

_ = LocationWidgetComparator$1.prototype = new LocationWidgetComparator();
_.getClass$ = getClass_20;
_.typeId$ = 0;
function $clinit_25(){
  $clinit_25 = nullMethod;
  $clinit_27();
}

function $clinit_26(){
  $clinit_26 = nullMethod;
  $clinit_27();
}

function $WidgetArea(this$static, widget, adjustForOffsetParentViewPorts){
  var elem, p, temp;
  this$static.left_0 = widget.element.getBoundingClientRect().left + ($clinit_67() , documentRoot).scrollLeft - documentRoot.clientLeft;
  this$static.top_0 = widget.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop;
  this$static.right = this$static.left_0 + (parseInt(widget.element['offsetWidth']) || 0);
  this$static.bottom = this$static.top_0 + (parseInt(widget.element['offsetHeight']) || 0);
  if (adjustForOffsetParentViewPorts) {
    elem = widget.element.offsetParent;
    while (!!elem && !!(p = elem.offsetParent)) {
      if ((temp = this$static.right - this$static.left_0 - elem.clientWidth) > 0) {
        $setRight(this$static, this$static.right - temp);
      }
      if ((temp = this$static.bottom - this$static.top_0 - elem.clientHeight) > 0) {
        $setBottom(this$static, this$static.bottom - temp);
      }
      $setLeft(this$static, this$static.left_0 + (elem.scrollLeft || 0));
      $setRight(this$static, this$static.right + (elem.scrollLeft || 0));
      $setTop(this$static, this$static.top_0 + (elem.scrollTop || 0));
      $setBottom(this$static, this$static.bottom + (elem.scrollTop || 0));
      elem = p;
    }
  }
  return this$static;
}

function getClass_22(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_WidgetArea_2_classlit;
}

function WidgetArea(){
}

_ = WidgetArea.prototype = new AbstractArea();
_.getClass$ = getClass_22;
_.typeId$ = 19;
function $WidgetLocation(this$static, widget, reference){
  $internalSetWidget(this$static, widget);
  $internalSetReference(this$static, reference);
  this$static.left_0 = this$static.widgetLeft - this$static.referenceAdjustLeft;
  this$static.top_0 = this$static.widgetTop - this$static.referenceAdjustTop;
  return this$static;
}

function $internalSetReference(this$static, reference){
  if (!reference || reference == ($clinit_95() , get_0(null))) {
    this$static.referenceAdjustLeft = 0;
    this$static.referenceAdjustTop = 0;
  }
   else {
    this$static.referenceAdjustLeft = reference.element.getBoundingClientRect().left + ($clinit_67() , documentRoot).scrollLeft - documentRoot.clientLeft + reference.element.clientLeft;
    this$static.referenceAdjustTop = reference.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop + reference.element.clientTop;
  }
}

function $internalSetWidget(this$static, widget){
  if (!widget || widget == ($clinit_95() , get_0(null))) {
    this$static.widgetLeft = 0;
    this$static.widgetTop = 0;
  }
   else {
    this$static.widgetLeft = widget.element.getBoundingClientRect().left + ($clinit_67() , documentRoot).scrollLeft - documentRoot.clientLeft;
    this$static.widgetTop = widget.element.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop;
  }
}

function getClass_23(){
  return Lcom_allen_1sauer_gwt_dnd_client_util_WidgetLocation_2_classlit;
}

function getLeft_0(){
  return this.left_0;
}

function getTop_0(){
  return this.top_0;
}

function toString_2(){
  return '(' + this.left_0 + ', ' + this.top_0 + ')';
}

function WidgetLocation(){
}

_ = WidgetLocation.prototype = new AbstractLocation();
_.getClass$ = getClass_23;
_.getLeft = getLeft_0;
_.getTop = getTop_0;
_.toString$ = toString_2;
_.typeId$ = 0;
_.left_0 = 0;
_.referenceAdjustLeft = 0;
_.referenceAdjustTop = 0;
_.top_0 = 0;
_.widgetLeft = 0;
_.widgetTop = 0;
function $cancelAllDocumentSelections(){
  try {
    $doc.selection.empty();
  }
   catch (e) {
  }
}

function $RuntimeException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_93(){
  return Ljava_lang_RuntimeException_2_classlit;
}

function RuntimeException(){
}

_ = RuntimeException.prototype = new Exception();
_.getClass$ = getClass_93;
_.typeId$ = 20;
function $JavaScriptException(this$static, e){
  $Exception(this$static, '(' + getName(e) + '): ' + getDescription(e) + (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)?getProperties0(dynamicCastJso(e)):''));
  getName(e);
  getDescription(e);
  getException(e);
  return this$static;
}

function getClass_24(){
  return Lcom_google_gwt_core_client_JavaScriptException_2_classlit;
}

function getDescription(e){
  if (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)) {
    return getDescription0(dynamicCastJso(e));
  }
   else {
    return e + '';
  }
}

function getDescription0(e){
  return e == null?null:e.message;
}

function getException(e){
  if (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)) {
    return dynamicCastJso(e);
  }
   else {
    return null;
  }
}

function getName(e){
  if (e == null) {
    return 'null';
  }
   else if (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)) {
    return getName0(dynamicCastJso(e));
  }
   else if (e != null && canCast(e.typeId$, 1)) {
    return 'String';
  }
   else {
    return (e.typeMarker$ == nullMethod || e.typeId$ == 2?e.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classlit).typeName;
  }
}

function getName0(e){
  return e == null?null:e.name;
}

function getProperties0(e){
  var result = '';
  for (prop in e) {
    if (prop != 'name' && prop != 'message') {
      result += '\n ' + prop + ': ' + e[prop];
    }
  }
  return result;
}

function JavaScriptException(){
}

_ = JavaScriptException.prototype = new RuntimeException();
_.getClass$ = getClass_24;
_.typeId$ = 21;
function equals__devirtual$(this$static, other){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.equals$(other):(this$static == null?null:this$static) === (other == null?null:other);
}

function hashCode__devirtual$(this$static){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.hashCode$():this$static.$H || (this$static.$H = ++sNextHashId);
}

var sNextHashId = 0;
function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $isOrHasChild(parent, child){
  return parent === child || parent.contains(child);
}

function createFromSeed(seedType, length){
  var seedArray = [null, 0, false, [0, 0]];
  var value = seedArray[seedType];
  var array = new Array(length);
  for (var i_0 = 0; i_0 < length; ++i_0) {
    array[i_0] = value;
  }
  return array;
}

function getClass_26(){
  return this.arrayClass$;
}

function initDim(arrayClass, typeId, queryId, length, seedType){
  var result;
  result = createFromSeed(seedType, length);
  initValues(arrayClass, typeId, queryId, result);
  return result;
}

function initValues(arrayClass, typeId, queryId, array){
  if (!protoTypeArray_0) {
    protoTypeArray_0 = new Array_0();
  }
  wrapArray(array, protoTypeArray_0);
  array.arrayClass$ = arrayClass;
  array.typeId$ = typeId;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value.typeId$, array.queryId$)) {
      throw new ArrayStoreException();
    }
    if (array.queryId$ < 0 && (value.typeMarker$ == nullMethod || value.typeId$ == 2)) {
      throw new ArrayStoreException();
    }
  }
  return array[index] = value;
}

function wrapArray(array, protoTypeArray){
  for (var i_0 in protoTypeArray) {
    var toCopy = protoTypeArray[i_0];
    if (toCopy) {
      array[i_0] = toCopy;
    }
  }
  return array;
}

function Array_0(){
}

_ = Array_0.prototype = new Object_0();
_.getClass$ = getClass_26;
_.typeId$ = 0;
_.arrayClass$ = null;
_.length = 0;
_.queryId$ = 0;
var protoTypeArray_0 = null;
function canCast(srcId, dstId){
  return srcId && !!typeIdArray[srcId][dstId];
}

function canCastUnsafe(srcId, dstId){
  return srcId && typeIdArray[srcId][dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !canCastUnsafe(src.typeId$, dstId)) {
    throw new ClassCastException();
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || src.typeId$ == 2)) {
    throw new ClassCastException();
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && canCast(src.typeId$, dstId);
}

function round_int(x){
  return ~~Math.max(Math.min(x, 2147483647), -2147483648);
}

var typeIdArray = [{}, {}, {1:1, 7:1, 8:1, 9:1}, {22:1}, {4:1, 9:1}, {25:1}, {22:1}, {14:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 12:1, 21:1}, {3:1}, {3:1}, {3:1}, {19:1}, {3:1}, {3:1}, {3:1}, {13:1}, {20:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 21:1}, {23:1}, {23:1}, {23:1}, {24:1}, {6:1}, {2:1, 5:1, 6:1}, {2:1, 5:1, 6:1, 28:1}, {2:1, 5:1, 6:1, 28:1}, {2:1, 5:1, 6:1, 15:1, 28:1}, {2:1, 5:1, 6:1, 28:1}, {2:1, 5:1, 6:1}, {2:1, 5:1, 6:1, 18:1, 28:1}, {2:1, 5:1, 6:1, 18:1, 28:1}, {2:1, 5:1, 6:1, 18:1, 28:1}, {2:1, 5:1, 6:1, 34:1}, {2:1, 5:1, 6:1, 34:1}, {2:1, 5:1, 6:1, 16:1, 28:1}, {41:1}, {7:1, 41:1}, {7:1, 41:1}, {2:1, 5:1, 6:1, 15:1, 26:1, 28:1}, {24:1}, {2:1, 5:1, 6:1, 18:1, 28:1}, {2:1, 5:1, 6:1}, {2:1, 5:1, 6:1}, {7:1, 41:1}, {2:1, 5:1, 6:1, 17:1, 28:1}, {2:1, 5:1, 6:1, 30:1}, {29:1, 30:1}, {29:1, 30:1}, {29:1, 30:1}, {2:1, 5:1, 6:1, 18:1, 28:1, 29:1, 30:1}, {27:1}, {3:1, 35:1}, {2:1, 5:1, 6:1, 18:1, 28:1}, {7:1, 9:1}, {7:1, 9:1}, {38:1}, {33:1}, {31:1}, {29:1, 30:1}, {29:1, 30:1}, {37:1}, {29:1, 30:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 21:1}, {7:1, 9:1, 39:1}, {7:1, 21:1}, {7:1, 21:1}, {8:1}, {8:1}, {7:1, 21:1}, {42:1}, {42:1}, {40:1}, {40:1}, {40:1}, {42:1}, {7:1, 36:1}, {40:1}, {7:1, 21:1}, {11:1}, {10:1}, {32:1}];
function caught(e){
  if (e != null && canCast(e.typeId$, 21)) {
    return e;
  }
  return $JavaScriptException(new JavaScriptException(), e);
}

function add_0(a, b){
  var newHigh, newLow;
  newHigh = a[1] + b[1];
  newLow = a[0] + b[0];
  return create(newLow, newHigh);
}

function addTimes(accum, a, b){
  if (a == 0) {
    return accum;
  }
  if (b == 0) {
    return accum;
  }
  return add_0(accum, create(a * b, 0));
}

function compare_0(a, b){
  var nega, negb;
  if (a[0] == b[0] && a[1] == b[1]) {
    return 0;
  }
  nega = a[1] < 0;
  negb = b[1] < 0;
  if (nega && !negb) {
    return -1;
  }
  if (!nega && negb) {
    return 1;
  }
  if (sub(a, b)[1] < 0) {
    return -1;
  }
   else {
    return 1;
  }
}

function create(valueLow, valueHigh){
  var diffHigh, diffLow;
  valueHigh %= 1.8446744073709552E19;
  valueLow %= 1.8446744073709552E19;
  diffHigh = valueHigh % 4294967296;
  diffLow = Math.floor(valueLow / 4294967296) * 4294967296;
  valueHigh = valueHigh - diffHigh + diffLow;
  valueLow = valueLow - diffLow + diffHigh;
  while (valueLow < 0) {
    valueLow += 4294967296;
    valueHigh -= 4294967296;
  }
  while (valueLow > 4294967295) {
    valueLow -= 4294967296;
    valueHigh += 4294967296;
  }
  valueHigh = valueHigh % 1.8446744073709552E19;
  while (valueHigh > 9223372032559808512) {
    valueHigh -= 1.8446744073709552E19;
  }
  while (valueHigh < -9223372036854775808) {
    valueHigh += 1.8446744073709552E19;
  }
  return [valueLow, valueHigh];
}

function div_0(a, b){
  var approx, deltaRem, deltaResult, halfa, rem, result;
  if (b[0] == 0 && b[1] == 0) {
    throw $ArithmeticException(new ArithmeticException(), '/ by zero');
  }
  if (a[0] == 0 && a[1] == 0) {
    return $clinit_48() , ZERO;
  }
  if (eq(a, ($clinit_48() , MIN_VALUE))) {
    if (eq(b, ONE) || eq(b, NEG_ONE)) {
      return MIN_VALUE;
    }
    halfa = shr(a, 1);
    approx = shl(div_0(halfa, b), 1);
    rem = sub(a, mul(b, approx));
    return add_0(approx, div_0(rem, b));
  }
  if (eq(b, MIN_VALUE)) {
    return ZERO;
  }
  if (a[1] < 0) {
    if (b[1] < 0) {
      return div_0(neg(a), neg(b));
    }
     else {
      return neg(div_0(neg(a), b));
    }
  }
  if (b[1] < 0) {
    return neg(div_0(a, neg(b)));
  }
  result = ZERO;
  rem = a;
  while (compare_0(rem, b) >= 0) {
    deltaResult = fromDouble(Math.floor(toDoubleRoundDown(rem) / toDoubleRoundUp(b)));
    if (deltaResult[0] == 0 && deltaResult[1] == 0) {
      deltaResult = ONE;
    }
    deltaRem = mul(deltaResult, b);
    result = add_0(result, deltaResult);
    rem = sub(rem, deltaRem);
  }
  return result;
}

function eq(a, b){
  return a[0] == b[0] && a[1] == b[1];
}

function fromDouble(value){
  if (isNaN(value)) {
    return $clinit_48() , ZERO;
  }
  if (value < -9223372036854775808) {
    return $clinit_48() , MIN_VALUE;
  }
  if (value >= 9223372036854775807) {
    return $clinit_48() , MAX_VALUE;
  }
  if (value > 0) {
    return create(Math.floor(value), 0);
  }
   else {
    return create(Math.ceil(value), 0);
  }
}

function fromInt(value){
  var rebase, result;
  if (value > -129 && value < 128) {
    rebase = value + 128;
    result = ($clinit_47() , boxedValues)[rebase];
    if (result == null) {
      result = boxedValues[rebase] = internalFromInt(value);
    }
    return result;
  }
  return internalFromInt(value);
}

function internalFromInt(value){
  if (value >= 0) {
    return [value, 0];
  }
   else {
    return [value + 4294967296, -4294967296];
  }
}

function lowBits(a){
  if (a[0] >= 2147483648) {
    return ~~Math.max(Math.min(a[0] - 4294967296, 2147483647), -2147483648);
  }
   else {
    return ~~Math.max(Math.min(a[0], 2147483647), -2147483648);
  }
}

function mod(a, b){
  return sub(a, mul(div_0(a, b), b));
}

function mul(a, b){
  var a1, a2, a3, a4, b1, b2, b3, b4, res;
  if (a[0] == 0 && a[1] == 0) {
    return $clinit_48() , ZERO;
  }
  if (b[0] == 0 && b[1] == 0) {
    return $clinit_48() , ZERO;
  }
  if (eq(a, ($clinit_48() , MIN_VALUE))) {
    return multByMinValue(b);
  }
  if (eq(b, MIN_VALUE)) {
    return multByMinValue(a);
  }
  if (a[1] < 0) {
    if (b[1] < 0) {
      return mul(neg(a), neg(b));
    }
     else {
      return neg(mul(neg(a), b));
    }
  }
  if (b[1] < 0) {
    return neg(mul(a, neg(b)));
  }
  if (compare_0(a, TWO_PWR_24) < 0 && compare_0(b, TWO_PWR_24) < 0) {
    return create((a[1] + a[0]) * (b[1] + b[0]), 0);
  }
  a3 = a[1] % 281474976710656;
  a4 = a[1] - a3;
  a1 = a[0] % 65536;
  a2 = a[0] - a1;
  b3 = b[1] % 281474976710656;
  b4 = b[1] - b3;
  b1 = b[0] % 65536;
  b2 = b[0] - b1;
  res = ZERO;
  res = addTimes(res, a4, b1);
  res = addTimes(res, a3, b2);
  res = addTimes(res, a3, b1);
  res = addTimes(res, a2, b3);
  res = addTimes(res, a2, b2);
  res = addTimes(res, a2, b1);
  res = addTimes(res, a1, b4);
  res = addTimes(res, a1, b3);
  res = addTimes(res, a1, b2);
  res = addTimes(res, a1, b1);
  return res;
}

function multByMinValue(a){
  if ((lowBits(a) & 1) == 1) {
    return $clinit_48() , MIN_VALUE;
  }
   else {
    return $clinit_48() , ZERO;
  }
}

function neg(a){
  var newHigh, newLow;
  if (eq(a, ($clinit_48() , MIN_VALUE))) {
    return MIN_VALUE;
  }
  newHigh = -a[1];
  newLow = -a[0];
  if (newLow > 4294967295) {
    newLow -= 4294967296;
    newHigh += 4294967296;
  }
  if (newLow < 0) {
    newLow += 4294967296;
    newHigh -= 4294967296;
  }
  return [newLow, newHigh];
}

function pwrAsDouble(n){
  if (n <= 30) {
    return 1 << n;
  }
   else {
    return pwrAsDouble(30) * pwrAsDouble(n - 30);
  }
}

function shl(a, n){
  var diff, newHigh, newLow, twoToN;
  n &= 63;
  if (eq(a, ($clinit_48() , MIN_VALUE))) {
    if (n == 0) {
      return a;
    }
     else {
      return ZERO;
    }
  }
  if (a[1] < 0) {
    return neg(shl(neg(a), n));
  }
  twoToN = pwrAsDouble(n);
  newHigh = a[1] * twoToN % 1.8446744073709552E19;
  newLow = a[0] * twoToN;
  diff = newLow - newLow % 4294967296;
  newHigh += diff;
  newLow -= diff;
  if (newHigh >= 9223372036854775807) {
    newHigh -= 1.8446744073709552E19;
  }
  return [newLow, newHigh];
}

function shr(a, n){
  var newHigh, newLow, shiftFact;
  n &= 63;
  shiftFact = pwrAsDouble(n);
  newHigh = a[1] / shiftFact;
  newLow = Math.floor(a[0] / shiftFact);
  return create(newLow, newHigh);
}

function sub(a, b){
  var newHigh, newLow;
  newHigh = a[1] - b[1];
  newLow = a[0] - b[0];
  return create(newLow, newHigh);
}

function toDoubleRoundDown(a){
  var diff, magnitute, toSubtract;
  magnitute = round_int(Math.log(a[1]) / ($clinit_48() , LN_2));
  if (magnitute <= 48) {
    return a[1] + a[0];
  }
   else {
    diff = magnitute - 48;
    toSubtract = (1 << diff) - 1;
    return a[1] + (a[0] - toSubtract);
  }
}

function toDoubleRoundUp(a){
  var diff, magnitute, toAdd;
  magnitute = round_int(Math.log(a[1]) / ($clinit_48() , LN_2));
  if (magnitute <= 48) {
    return a[1] + a[0];
  }
   else {
    diff = magnitute - 48;
    toAdd = (1 << diff) - 1;
    return a[1] + (a[0] + toAdd);
  }
}

function toString_4(a){
  var digits, rem, res, zeroesNeeded;
  if (a[0] == 0 && a[1] == 0) {
    return '0';
  }
  if (eq(a, ($clinit_48() , MIN_VALUE))) {
    return '-9223372036854775808';
  }
  if (a[1] < 0) {
    return '-' + toString_4(neg(a));
  }
  rem = a;
  res = '';
  while (!(rem[0] == 0 && rem[1] == 0)) {
    digits = '' + lowBits(mod(rem, fromInt(1000000000)));
    rem = div_0(rem, fromInt(1000000000));
    if (!(rem[0] == 0 && rem[1] == 0)) {
      zeroesNeeded = 9 - digits.length;
      for (; zeroesNeeded > 0; --zeroesNeeded) {
        digits = '0' + digits;
      }
    }
    res = digits + res;
  }
  return res;
}

function $clinit_47(){
  $clinit_47 = nullMethod;
  boxedValues = initDim(_3_3D_classlit, 0, 10, 256, 0);
}

var boxedValues;
function $clinit_48(){
  $clinit_48 = nullMethod;
  LN_2 = Math.log(2);
  MAX_VALUE = P7fffffffffffffff_longLit;
  MIN_VALUE = N8000000000000000_longLit;
  NEG_ONE = fromInt(-1);
  ONE = fromInt(1);
  fromInt(2);
  TWO_PWR_24 = P1000000_longLit;
  ZERO = fromInt(0);
}

var LN_2, MAX_VALUE, MIN_VALUE, NEG_ONE, ONE, TWO_PWR_24, ZERO;
function $CommandCanceledException(this$static){
  return this$static;
}

function getClass_27(){
  return Lcom_google_gwt_user_client_CommandCanceledException_2_classlit;
}

function CommandCanceledException(){
}

_ = CommandCanceledException.prototype = new RuntimeException();
_.getClass$ = getClass_27;
_.typeId$ = 22;
function $CommandExecutor(this$static){
  this$static.cancellationTimer = $CommandExecutor$1(new CommandExecutor$1(), this$static);
  this$static.commands = $ArrayList(new ArrayList());
  this$static.executionTimer = $CommandExecutor$2(new CommandExecutor$2(), this$static);
  this$static.iterator = $CommandExecutor$CircularIterator(new CommandExecutor$CircularIterator(), this$static);
  return this$static;
}

function $doCommandCanceled(this$static){
  var cmd;
  cmd = $getLast(this$static.iterator);
  $remove(this$static.iterator);
  if (cmd != null && canCast(cmd.typeId$, 22)) {
    $CommandCanceledException(new CommandCanceledException(), dynamicCast(cmd, 22));
  }
   else {
  }
  this$static.executing = false;
  $maybeStartExecutionTimer(this$static);
}

function $doExecuteCommands(this$static, startTimeMillis){
  var command, element, wasCanceled;
  wasCanceled = false;
  try {
    this$static.executing = true;
    this$static.iterator.end = this$static.commands.size;
    $schedule(this$static.cancellationTimer, 10000);
    while ($hasNext(this$static.iterator)) {
      element = $next(this$static.iterator);
      try {
        if (element == null) {
          return;
        }
        if (element != null && canCast(element.typeId$, 22)) {
          command = dynamicCast(element, 22);
          command.execute();
        }
         else {
        }
      }
       finally {
        wasCanceled = this$static.iterator.last == -1;
        if (wasCanceled) {
          return;
        }
        $remove(this$static.iterator);
      }
      if ((new Date()).getTime() - startTimeMillis >= 100) {
        return;
      }
    }
  }
   finally {
    if (!wasCanceled) {
      $cancel(this$static.cancellationTimer);
      this$static.executing = false;
      $maybeStartExecutionTimer(this$static);
    }
  }
}

function $maybeStartExecutionTimer(this$static){
  if (this$static.commands.size != 0 && !this$static.executionTimerPending && !this$static.executing) {
    this$static.executionTimerPending = true;
    $schedule(this$static.executionTimer, 1);
  }
}

function $submit(this$static, command){
  $add_6(this$static.commands, command);
  $maybeStartExecutionTimer(this$static);
}

function getClass_31(){
  return Lcom_google_gwt_user_client_CommandExecutor_2_classlit;
}

function CommandExecutor(){
}

_ = CommandExecutor.prototype = new Object_0();
_.getClass$ = getClass_31;
_.typeId$ = 0;
_.executing = false;
_.executionTimerPending = false;
function $clinit_62(){
  $clinit_62 = nullMethod;
  timers = $ArrayList(new ArrayList());
  addWindowCloseListener(new Timer$1());
}

function $cancel(this$static){
  if (this$static.isRepeating) {
    $wnd.clearInterval(this$static.timerId);
  }
   else {
    $wnd.clearTimeout(this$static.timerId);
  }
  $remove_8(timers, this$static);
}

function $fireImpl(this$static){
  if (!this$static.isRepeating) {
    $remove_8(timers, this$static);
  }
  this$static.run();
}

function $schedule(this$static, delayMillis){
  if (delayMillis <= 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'must be positive');
  }
  $cancel(this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_6(timers, this$static);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout(function(){
    timer.fire();
  }
  , delay);
}

function fire(){
  $fireImpl(this);
}

function getClass_33(){
  return Lcom_google_gwt_user_client_Timer_2_classlit;
}

function Timer(){
}

_ = Timer.prototype = new Object_0();
_.fire = fire;
_.getClass$ = getClass_33;
_.typeId$ = 23;
_.isRepeating = false;
_.timerId = 0;
var timers;
function $clinit_52(){
  $clinit_52 = nullMethod;
  $clinit_62();
}

function $CommandExecutor$1(this$static, this$0){
  $clinit_52();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_28(){
  return Lcom_google_gwt_user_client_CommandExecutor$1_2_classlit;
}

function run(){
  if (!this.this$0.executing) {
    return;
  }
  $doCommandCanceled(this.this$0);
}

function CommandExecutor$1(){
}

_ = CommandExecutor$1.prototype = new Timer();
_.getClass$ = getClass_28;
_.run = run;
_.typeId$ = 24;
_.this$0 = null;
function $clinit_53(){
  $clinit_53 = nullMethod;
  $clinit_62();
}

function $CommandExecutor$2(this$static, this$0){
  $clinit_53();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_29(){
  return Lcom_google_gwt_user_client_CommandExecutor$2_2_classlit;
}

function run_0(){
  this.this$0.executionTimerPending = false;
  $doExecuteCommands(this.this$0, (new Date()).getTime());
}

function CommandExecutor$2(){
}

_ = CommandExecutor$2.prototype = new Timer();
_.getClass$ = getClass_29;
_.run = run_0;
_.typeId$ = 25;
_.this$0 = null;
function $CommandExecutor$CircularIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $getLast(this$static){
  return $get_1(this$static.this$0.commands, this$static.last);
}

function $hasNext(this$static){
  return this$static.next < this$static.end;
}

function $next(this$static){
  var command;
  this$static.last = this$static.next;
  command = $get_1(this$static.this$0.commands, this$static.next++);
  if (this$static.next >= this$static.end) {
    this$static.next = 0;
  }
  return command;
}

function $remove(this$static){
  $remove_7(this$static.this$0.commands, this$static.last);
  --this$static.end;
  if (this$static.last <= this$static.next) {
    if (--this$static.next < 0) {
      this$static.next = 0;
    }
  }
  this$static.last = -1;
}

function getClass_30(){
  return Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classlit;
}

function hasNext(){
  return this.next < this.end;
}

function next_0(){
  return $next(this);
}

function CommandExecutor$CircularIterator(){
}

_ = CommandExecutor$CircularIterator.prototype = new Object_0();
_.getClass$ = getClass_30;
_.hasNext = hasNext;
_.next_0 = next_0;
_.typeId$ = 0;
_.end = 0;
_.last = -1;
_.next = 0;
_.this$0 = null;
function dispatchEventImpl(evt, elem, listener){
  var prevCurrentEvent;
  if (elem == sCaptureElem) {
    if ($eventGetTypeInt(evt) == 8192) {
      sCaptureElem = null;
    }
  }
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  try {
    listener.onBrowserEvent(evt);
  }
   finally {
    currentEvent = prevCurrentEvent;
  }
}

function previewEvent(evt){
  return true;
}

function releaseCapture(elem){
  if (!!sCaptureElem && elem == sCaptureElem) {
    sCaptureElem = null;
  }
  $maybeInitializeEventSystem();
  elem.releaseCapture();
}

function setCapture(elem){
  sCaptureElem = elem;
  $maybeInitializeEventSystem();
  elem.setCapture();
}

function sinkEvents(elem, eventBits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, eventBits);
}

var currentEvent = null, sCaptureElem = null;
function $clinit_58(){
  $clinit_58 = nullMethod;
  commandExecutor = $CommandExecutor(new CommandExecutor());
}

function addCommand(cmd){
  $clinit_58();
  if (!cmd) {
    throw $NullPointerException(new NullPointerException(), 'cmd cannot be null');
  }
  $submit(commandExecutor, cmd);
}

var commandExecutor;
function getClass_32(){
  return Lcom_google_gwt_user_client_Timer$1_2_classlit;
}

function onWindowClosed(){
  while (($clinit_62() , timers).size > 0) {
    $cancel(dynamicCast($get_1(timers, 0), 23));
  }
}

function onWindowClosing(){
  return null;
}

function Timer$1(){
}

_ = Timer$1.prototype = new Object_0();
_.getClass$ = getClass_32;
_.onWindowClosed = onWindowClosed;
_.onWindowClosing = onWindowClosing;
_.typeId$ = 26;
function addWindowCloseListener(listener){
  maybeInitializeHandlers();
  if (!closingListeners) {
    closingListeners = $ArrayList(new ArrayList());
  }
  $add_6(closingListeners, listener);
}

function fireClosedImpl(){
  var listener, listener$iterator;
  if (closingListeners) {
    for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), closingListeners); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
      listener = dynamicCast($next_1(listener$iterator), 24);
      listener.onWindowClosed();
    }
  }
}

function fireClosingImpl(){
  var listener, listener$iterator, msg, ret;
  ret = null;
  if (closingListeners) {
    for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), closingListeners); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
      listener = dynamicCast($next_1(listener$iterator), 24);
      msg = listener.onWindowClosing();
      ret = msg;
    }
  }
  return ret;
}

function init(){
  __gwt_initHandlers(function(){
  }
  , function(){
    return fireClosingImpl();
  }
  , function(){
    fireClosedImpl();
    $wnd.onresize = null;
    $wnd.onbeforeclose = null;
    $wnd.onclose = null;
  }
  );
}

function maybeInitializeHandlers(){
  if (!handlersAreInitialized) {
    init();
    handlersAreInitialized = true;
  }
}

var closingListeners = null, handlersAreInitialized = false;
function $eventGetTypeInt(evt){
  switch (evt.type) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'mousewheel':
      return 131072;
    case 'DOMMouseScroll':
      return 131072;
  }
}

function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem();
    eventSystemIsInitialized = true;
  }
}

function isMyListener(object){
  var b;
  b = object != null && canCast(object.typeId$, 5) && !(object != null && (object.typeMarker$ != nullMethod && object.typeId$ != 2));
  if (!b) {
    object.typeMarker$ == nullMethod || object.typeId$ == 2?object.toString$():object.toString?object.toString():'[JavaScriptObject]';
  }
  return b;
}

var eventSystemIsInitialized = false;
function $initEventSystem(){
  dispatchEvent_0 = function(){
    var oldEventTarget = currentEventTarget;
    currentEventTarget = this;
    if ($wnd.event.returnValue == null) {
      $wnd.event.returnValue = true;
      if (!previewEvent($wnd.event)) {
        currentEventTarget = oldEventTarget;
        return;
      }
    }
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentElement;
    }
    if (listener) {
      if (isMyListener(listener)) {
        dispatchEventImpl($wnd.event, curElem, listener);
      }
    }
    currentEventTarget = oldEventTarget;
  }
  ;
  dispatchDblClickEvent = function(){
    var newEvent = $doc.createEventObject();
    this.fireEvent('onclick', newEvent);
    if (this.__eventBits & 2) {
      dispatchEvent_0.call(this);
    }
  }
  ;
  var bodyDispatcher = function(){
    dispatchEvent_0.call($doc.body);
  }
  ;
  var bodyDblClickDispatcher = function(){
    dispatchDblClickEvent.call($doc.body);
  }
  ;
  $doc.body.attachEvent('onclick', bodyDispatcher);
  $doc.body.attachEvent('onmousedown', bodyDispatcher);
  $doc.body.attachEvent('onmouseup', bodyDispatcher);
  $doc.body.attachEvent('onmousemove', bodyDispatcher);
  $doc.body.attachEvent('onmousewheel', bodyDispatcher);
  $doc.body.attachEvent('onkeydown', bodyDispatcher);
  $doc.body.attachEvent('onkeypress', bodyDispatcher);
  $doc.body.attachEvent('onkeyup', bodyDispatcher);
  $doc.body.attachEvent('onfocus', bodyDispatcher);
  $doc.body.attachEvent('onblur', bodyDispatcher);
  $doc.body.attachEvent('ondblclick', bodyDblClickDispatcher);
}

function $insertChild(parent, child, index){
  if (index >= parent.children.length)
    parent.appendChild(child);
  else 
    parent.insertBefore(child, parent.children[index]);
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  if (chMask & 1)
    elem.onclick = bits & 1?dispatchEvent_0:null;
  if (chMask & 3)
    elem.ondblclick = bits & 3?dispatchDblClickEvent:null;
  if (chMask & 4)
    elem.onmousedown = bits & 4?dispatchEvent_0:null;
  if (chMask & 8)
    elem.onmouseup = bits & 8?dispatchEvent_0:null;
  if (chMask & 16)
    elem.onmouseover = bits & 16?dispatchEvent_0:null;
  if (chMask & 32)
    elem.onmouseout = bits & 32?dispatchEvent_0:null;
  if (chMask & 64)
    elem.onmousemove = bits & 64?dispatchEvent_0:null;
  if (chMask & 128)
    elem.onkeydown = bits & 128?dispatchEvent_0:null;
  if (chMask & 256)
    elem.onkeypress = bits & 256?dispatchEvent_0:null;
  if (chMask & 512)
    elem.onkeyup = bits & 512?dispatchEvent_0:null;
  if (chMask & 1024)
    elem.onchange = bits & 1024?dispatchEvent_0:null;
  if (chMask & 2048)
    elem.onfocus = bits & 2048?dispatchEvent_0:null;
  if (chMask & 4096)
    elem.onblur = bits & 4096?dispatchEvent_0:null;
  if (chMask & 8192)
    elem.onlosecapture = bits & 8192?dispatchEvent_0:null;
  if (chMask & 16384)
    elem.onscroll = bits & 16384?dispatchEvent_0:null;
  if (chMask & 32768)
    elem.onload = bits & 32768?dispatchEvent_0:null;
  if (chMask & 65536)
    elem.onerror = bits & 65536?dispatchEvent_0:null;
  if (chMask & 131072)
    elem.onmousewheel = bits & 131072?dispatchEvent_0:null;
}

var currentEventTarget = null, dispatchDblClickEvent = null, dispatchEvent_0 = null;
function $clinit_67(){
  $clinit_67 = nullMethod;
  documentRoot = $getDocumentRoot(($clinit_67() , new DocumentRootImpl()));
}

function $getDocumentRoot(){
  return $doc.compatMode == 'CSS1Compat'?$doc.documentElement:$doc.body;
}

function getClass_34(){
  return Lcom_google_gwt_user_client_impl_DocumentRootImpl_2_classlit;
}

function DocumentRootImpl(){
}

_ = DocumentRootImpl.prototype = new Object_0();
_.getClass$ = getClass_34;
_.typeId$ = 0;
var documentRoot;
function $setElement(this$static, elem){
  this$static.element = elem;
}

function $setPixelSize(this$static, width, height){
  if (width >= 0) {
    this$static.setWidth(width + 'px');
  }
  if (height >= 0) {
    this$static.setHeight(height + 'px');
  }
}

function $setSize(this$static, width, height){
  this$static.element.style['width'] = width;
  this$static.element.style['height'] = height;
}

function getClass_56(){
  return Lcom_google_gwt_user_client_ui_UIObject_2_classlit;
}

function setHeight_0(height){
  this.element.style['height'] = height;
}

function setStyleName(elem, style, add){
  var begin, end, idx, last, lastPos, newClassName, oldStyle;
  if (!elem) {
    throw $RuntimeException(new RuntimeException(), 'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'Style names cannot be empty');
  }
  oldStyle = elem['className'] == null?null:String(elem['className']);
  idx = oldStyle.indexOf(style);
  while (idx != -1) {
    if (idx == 0 || oldStyle.charCodeAt(idx - 1) == 32) {
      last = idx + style.length;
      lastPos = oldStyle.length;
      if (last == lastPos || last < lastPos && oldStyle.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldStyle.indexOf(style, idx + 1);
  }
  if (add) {
    if (idx == -1) {
      if (oldStyle.length > 0) {
        oldStyle += ' ';
      }
      elem['className'] = oldStyle + style;
    }
  }
   else {
    if (idx != -1) {
      begin = $trim(oldStyle.substr(0, idx - 0));
      end = $trim($substring(oldStyle, idx + style.length));
      if (begin.length == 0) {
        newClassName = end;
      }
       else if (end.length == 0) {
        newClassName = begin;
      }
       else {
        newClassName = begin + ' ' + end;
      }
      elem['className'] = newClassName;
    }
  }
}

function setWidth_0(width){
  this.element.style['width'] = width;
}

function toString_5(){
  if (!this.element) {
    return '(null handle)';
  }
  return this.element.outerHTML;
}

function UIObject(){
}

_ = UIObject.prototype = new Object_0();
_.getClass$ = getClass_56;
_.setHeight = setHeight_0;
_.setWidth = setWidth_0;
_.toString$ = toString_5;
_.typeId$ = 27;
_.element = null;
function $onAttach(this$static){
  if (this$static.isAttached()) {
    throw $IllegalStateException(new IllegalStateException(), "Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  this$static.element.__listener = this$static;
  this$static.doAttachChildren();
  this$static.onLoad();
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw $IllegalStateException(new IllegalStateException(), "Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
  }
   finally {
    this$static.doDetachChildren();
    this$static.element.__listener = null;
    this$static.attached = false;
  }
}

function $removeFromParent(this$static){
  if (instanceOf(this$static.parent, 28)) {
    dynamicCast(this$static.parent, 28).remove_0(this$static);
  }
   else if (this$static.parent) {
    throw $IllegalStateException(new IllegalStateException(), "This widget's parent does not implement HasWidgets");
  }
}

function $setParent(this$static, parent){
  var oldParent;
  oldParent = this$static.parent;
  if (!parent) {
    if (!!oldParent && oldParent.isAttached()) {
      this$static.onDetach();
    }
    this$static.parent = null;
  }
   else {
    if (oldParent) {
      throw $IllegalStateException(new IllegalStateException(), 'Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent = parent;
    if (parent.isAttached()) {
      this$static.onAttach();
    }
  }
}

function doAttachChildren_0(){
}

function doDetachChildren_0(){
}

function getClass_60(){
  return Lcom_google_gwt_user_client_ui_Widget_2_classlit;
}

function isAttached_0(){
  return this.attached;
}

function onAttach_0(){
  $onAttach(this);
}

function onBrowserEvent_4(event_0){
}

function onDetach_0(){
  $onDetach(this);
}

function onLoad_0(){
}

function onUnload_0(){
}

function Widget(){
}

_ = Widget.prototype = new UIObject();
_.doAttachChildren = doAttachChildren_0;
_.doDetachChildren = doDetachChildren_0;
_.getClass$ = getClass_60;
_.isAttached = isAttached_0;
_.onAttach = onAttach_0;
_.onBrowserEvent = onBrowserEvent_4;
_.onDetach = onDetach_0;
_.onLoad = onLoad_0;
_.onUnload = onUnload_0;
_.typeId$ = 28;
_.attached = false;
_.parent = null;
function $clear(this$static){
  var it;
  it = $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator(), this$static.children_0);
  while (it.index < it.this$0.size - 1) {
    $next_0(it);
    $remove_3(it);
  }
}

function doAttachChildren(){
  var child, it;
  for (it = this.iterator_0(); it.hasNext();) {
    child = dynamicCast(it.next_0(), 2);
    child.onAttach();
  }
}

function doDetachChildren(){
  var child, it;
  for (it = this.iterator_0(); it.hasNext();) {
    child = dynamicCast(it.next_0(), 2);
    child.onDetach();
  }
}

function getClass_47(){
  return Lcom_google_gwt_user_client_ui_Panel_2_classlit;
}

function onLoad(){
}

function onUnload(){
}

function Panel(){
}

_ = Panel.prototype = new Widget();
_.doAttachChildren = doAttachChildren;
_.doDetachChildren = doDetachChildren;
_.getClass$ = getClass_47;
_.onLoad = onLoad;
_.onUnload = onUnload;
_.typeId$ = 29;
function $add_1(this$static, child, container){
  $removeFromParent(child);
  $add_5(this$static.children_0, child);
  container.appendChild(child.element);
  $setParent(child, this$static);
}

function $adjustIndex(this$static, child, beforeIndex){
  var idx;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  if (child.parent == this$static) {
    idx = $indexOf(this$static.children_0, child);
    if (idx < beforeIndex) {
      --beforeIndex;
    }
  }
  return beforeIndex;
}

function $checkIndexBoundsForInsertion(this$static, index){
  if (index < 0 || index > this$static.children_0.size) {
    throw new IndexOutOfBoundsException();
  }
}

function $insert(this$static, child, container, beforeIndex, domInsert){
  beforeIndex = $adjustIndex(this$static, child, beforeIndex);
  $removeFromParent(child);
  $insert_2(this$static.children_0, child, beforeIndex);
  if (domInsert) {
    $insertChild(container, child.element, beforeIndex);
  }
   else {
    container.appendChild(child.element);
  }
  $setParent(child, this$static);
}

function $remove_0(this$static, w){
  var elem;
  if (w.parent != this$static) {
    return false;
  }
  $setParent(w, null);
  elem = w.element;
  elem.parentElement.removeChild(elem);
  $remove_5(this$static.children_0, w);
  return true;
}

function getClass_37(){
  return Lcom_google_gwt_user_client_ui_ComplexPanel_2_classlit;
}

function iterator_0(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator(), this.children_0);
}

function remove_0(w){
  return $remove_0(this, w);
}

function ComplexPanel(){
}

_ = ComplexPanel.prototype = new Panel();
_.getClass$ = getClass_37;
_.iterator_0 = iterator_0;
_.remove_0 = remove_0;
_.typeId$ = 30;
function $AbsolutePanel(this$static){
  $AbsolutePanel_0(this$static, $doc.createElement('div'));
  this$static.element.style['position'] = 'relative';
  this$static.element.style['overflow'] = 'hidden';
  return this$static;
}

function $AbsolutePanel_0(this$static, elem){
  this$static.children_0 = $WidgetCollection(new WidgetCollection(), this$static);
  this$static.element = elem;
  return this$static;
}

function $add(this$static, w){
  $add_1(this$static, w, this$static.element);
}

function $add_0(this$static, w, left, top){
  $removeFromParent(w);
  $setWidgetPositionImpl(w, left, top);
  $add_1(this$static, w, this$static.element);
}

function $setWidgetPositionImpl(w, left, top){
  var h;
  h = w.element;
  if (left == -1 && top == -1) {
    changeToStaticPositioning(h);
  }
   else {
    h.style['position'] = 'absolute';
    h.style['left'] = left + 'px';
    h.style['top'] = top + 'px';
  }
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

function getClass_35(){
  return Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classlit;
}

function remove(w){
  var removed;
  removed = $remove_0(this, w);
  if (removed) {
    changeToStaticPositioning(w.element);
  }
  return removed;
}

function AbsolutePanel(){
}

_ = AbsolutePanel.prototype = new ComplexPanel();
_.getClass$ = getClass_35;
_.remove_0 = remove;
_.typeId$ = 31;
function $CellPanel(this$static){
  this$static.children_0 = $WidgetCollection(new WidgetCollection(), this$static);
  this$static.table = $doc.createElement('table');
  this$static.body_0 = $doc.createElement('tbody');
  this$static.table.appendChild(this$static.body_0);
  this$static.element = this$static.table;
  return this$static;
}

function getClass_36(){
  return Lcom_google_gwt_user_client_ui_CellPanel_2_classlit;
}

function CellPanel(){
}

_ = CellPanel.prototype = new ComplexPanel();
_.getClass$ = getClass_36;
_.typeId$ = 32;
_.body_0 = null;
_.table = null;
function $initWidget(this$static, widget){
  if (this$static.widget) {
    throw $IllegalStateException(new IllegalStateException(), 'Composite.initWidget() may only be called once.');
  }
  $removeFromParent(widget);
  $setElement(this$static, widget.element);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

function getClass_38(){
  return Lcom_google_gwt_user_client_ui_Composite_2_classlit;
}

function isAttached(){
  if (this.widget) {
    return this.widget.attached;
  }
  return false;
}

function onAttach(){
  $onAttach(this.widget);
  this.element.__listener = this;
}

function onBrowserEvent(event_0){
  this.widget.onBrowserEvent(event_0);
}

function onDetach(){
  $onDetach(this.widget);
}

function Composite(){
}

_ = Composite.prototype = new Widget();
_.getClass$ = getClass_38;
_.isAttached = isAttached;
_.onAttach = onAttach;
_.onBrowserEvent = onBrowserEvent;
_.onDetach = onDetach;
_.typeId$ = 33;
_.widget = null;
function $SimplePanel(this$static){
  $SimplePanel_0(this$static, $doc.createElement('div'));
  return this$static;
}

function $SimplePanel_0(this$static, elem){
  this$static.element = elem;
  return this$static;
}

function $add_3(this$static, w){
  if (this$static.widget) {
    throw $IllegalStateException(new IllegalStateException(), 'SimplePanel can only contain one child widget');
  }
  $setWidget(this$static, w);
}

function $remove_1(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  $setParent(w, null);
  this$static.getContainerElement().removeChild(w.element);
  this$static.widget = null;
  return true;
}

function $setWidget(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  if (w) {
    $removeFromParent(w);
  }
  if (this$static.widget) {
    $remove_1(this$static, this$static.widget);
  }
  this$static.widget = w;
  if (w) {
    this$static.getContainerElement().appendChild(this$static.widget.element);
    $setParent(w, this$static);
  }
}

function getClass_52(){
  return Lcom_google_gwt_user_client_ui_SimplePanel_2_classlit;
}

function getContainerElement_0(){
  return this.element;
}

function iterator_1(){
  return $SimplePanel$1(new SimplePanel$1(), this);
}

function remove_2(w){
  return $remove_1(this, w);
}

function SimplePanel(){
}

_ = SimplePanel.prototype = new Panel();
_.getClass$ = getClass_52;
_.getContainerElement = getContainerElement_0;
_.iterator_0 = iterator_1;
_.remove_0 = remove_2;
_.typeId$ = 34;
_.widget = null;
function $clinit_74(){
  $clinit_74 = nullMethod;
  DEFAULT_ROW_STYLENAMES = initValues(_3Ljava_lang_String_2_classlit, 93, 1, ['top', 'middle', 'bottom']);
}

function $DecoratorPanel(this$static){
  $clinit_74();
  $DecoratorPanel_0(this$static, DEFAULT_ROW_STYLENAMES, 1);
  return this$static;
}

function $DecoratorPanel_0(this$static, rowStyles, containerIndex){
  var i_0, row, table, trElem;
  $clinit_74();
  $SimplePanel_0(this$static, $doc.createElement('table'));
  table = this$static.element;
  this$static.tbody = $doc.createElement('tbody');
  table.appendChild(this$static.tbody);
  table['cellSpacing'] = 0;
  table['cellPadding'] = 0;
  for (i_0 = 0; i_0 < rowStyles.length; ++i_0) {
    row = (trElem = $doc.createElement('tr') , (trElem['className'] = rowStyles[i_0] , undefined) , trElem.appendChild(createTD(rowStyles[i_0] + 'Left')) , trElem.appendChild(createTD(rowStyles[i_0] + 'Center')) , trElem.appendChild(createTD(rowStyles[i_0] + 'Right')) , trElem);
    this$static.tbody.appendChild(row);
    if (i_0 == containerIndex) {
      this$static.containerElem = $getFirstChildElement(row.children[1]);
    }
  }
  this$static.element['className'] = 'gwt-DecoratorPanel';
  return this$static;
}

function createTD(styleName){
  var inner, tdElem;
  tdElem = $doc.createElement('td');
  inner = $doc.createElement('div');
  tdElem.appendChild(inner);
  tdElem['className'] = styleName;
  inner['className'] = styleName + 'Inner';
  return tdElem;
}

function getClass_39(){
  return Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classlit;
}

function getContainerElement(){
  return this.containerElem;
}

function DecoratorPanel(){
}

_ = DecoratorPanel.prototype = new SimplePanel();
_.getClass$ = getClass_39;
_.getContainerElement = getContainerElement;
_.typeId$ = 35;
_.containerElem = null;
_.tbody = null;
var DEFAULT_ROW_STYLENAMES;
function $FocusPanel(this$static){
  $SimplePanel_0(this$static, $createFocusable());
  sinkEvents(this$static.element, 138237 | (this$static.element.__eventBits || 0));
  return this$static;
}

function $addMouseListener(this$static, listener){
  if (!this$static.mouseListeners) {
    this$static.mouseListeners = $MouseListenerCollection(new MouseListenerCollection());
  }
  $add_6(this$static.mouseListeners, listener);
}

function getClass_40(){
  return Lcom_google_gwt_user_client_ui_FocusPanel_2_classlit;
}

function onBrowserEvent_0(event_0){
  switch ($eventGetTypeInt(event_0)) {
    case 4:
    case 8:
    case 64:
    case 16:
    case 32:
      if (this.mouseListeners) {
        $fireMouseEvent(this.mouseListeners, this, event_0);
      }

  }
}

function FocusPanel(){
}

_ = FocusPanel.prototype = new SimplePanel();
_.getClass$ = getClass_40;
_.onBrowserEvent = onBrowserEvent_0;
_.typeId$ = 36;
_.mouseListeners = null;
function $Label(this$static, element){
  this$static.element = element;
  return this$static;
}

function $Label_0(this$static, text){
  this$static.element = $doc.createElement('div');
  this$static.element['className'] = 'gwt-Label';
  this$static.element.innerText = text || '';
  return this$static;
}

function $addMouseListener_0(this$static, listener){
  if (!this$static.mouseListeners) {
    this$static.mouseListeners = $MouseListenerCollection(new MouseListenerCollection());
    sinkEvents(this$static.element, 124 | (this$static.element.__eventBits || 0));
  }
  $add_6(this$static.mouseListeners, listener);
}

function getClass_45(){
  return Lcom_google_gwt_user_client_ui_Label_2_classlit;
}

function onBrowserEvent_1(event_0){
  switch ($eventGetTypeInt(event_0)) {
    case 4:
    case 8:
    case 64:
    case 16:
    case 32:
      if (this.mouseListeners) {
        $fireMouseEvent(this.mouseListeners, this, event_0);
      }

  }
}

function Label(){
}

_ = Label.prototype = new Widget();
_.getClass$ = getClass_45;
_.onBrowserEvent = onBrowserEvent_1;
_.typeId$ = 37;
_.mouseListeners = null;
function $HTML(this$static, html){
  $Label(this$static, $doc.createElement('div'));
  this$static.element['className'] = 'gwt-HTML';
  this$static.element.innerHTML = html || '';
  return this$static;
}

function $HTML_0(this$static, html, wordWrap){
  $Label(this$static, $doc.createElement('div'));
  this$static.element['className'] = 'gwt-HTML';
  this$static.element.innerHTML = html || '';
  this$static.element.style['whiteSpace'] = wordWrap?'normal':'nowrap';
  return this$static;
}

function getClass_41(){
  return Lcom_google_gwt_user_client_ui_HTML_2_classlit;
}

function HTML(){
}

_ = HTML.prototype = new Label();
_.getClass$ = getClass_41;
_.typeId$ = 38;
function $clinit_81(){
  $clinit_81 = nullMethod;
  $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant(), 'center');
  ALIGN_LEFT = $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant(), 'left');
  $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant(), 'right');
  ALIGN_DEFAULT = ALIGN_LEFT;
}

var ALIGN_DEFAULT, ALIGN_LEFT;
function $HasHorizontalAlignment$HorizontalAlignmentConstant(this$static, textAlignString){
  this$static.textAlignString = textAlignString;
  return this$static;
}

function getClass_42(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classlit;
}

function HasHorizontalAlignment$HorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$HorizontalAlignmentConstant.prototype = new Object_0();
_.getClass$ = getClass_42;
_.typeId$ = 0;
_.textAlignString = null;
function $clinit_84(){
  $clinit_84 = nullMethod;
  ALIGN_BOTTOM = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant(), 'bottom');
  $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant(), 'middle');
  ALIGN_TOP = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant(), 'top');
}

var ALIGN_BOTTOM, ALIGN_TOP;
function $HasVerticalAlignment$VerticalAlignmentConstant(this$static, verticalAlignString){
  this$static.verticalAlignString = verticalAlignString;
  return this$static;
}

function getClass_43(){
  return Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classlit;
}

function HasVerticalAlignment$VerticalAlignmentConstant(){
}

_ = HasVerticalAlignment$VerticalAlignmentConstant.prototype = new Object_0();
_.getClass$ = getClass_43;
_.typeId$ = 0;
_.verticalAlignString = null;
function $HorizontalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_81() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_84() , ALIGN_TOP);
  this$static.tableRow = $doc.createElement('tr');
  this$static.body_0.appendChild(this$static.tableRow);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_2(this$static, w){
  var td_2;
  td_2 = $createAlignedTd(this$static);
  this$static.tableRow.appendChild(td_2);
  $removeFromParent(w);
  $add_5(this$static.children_0, w);
  td_2.appendChild(w.element);
  $setParent(w, this$static);
}

function $createAlignedTd(this$static){
  var td;
  td = $doc.createElement('td');
  td['align'] = this$static.horzAlign.textAlignString;
  td.style['verticalAlign'] = this$static.vertAlign.verticalAlignString;
  return td;
}

function $insert_0(this$static, w, beforeIndex){
  var td_2;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  td_2 = $createAlignedTd(this$static);
  $insertChild(this$static.tableRow, td_2, beforeIndex);
  $insert(this$static, w, td_2, beforeIndex, false);
}

function getClass_44(){
  return Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classlit;
}

function remove_1(w){
  var removed, td;
  td = w.element.parentElement;
  removed = $remove_0(this, w);
  if (removed) {
    this.tableRow.removeChild(td);
  }
  return removed;
}

function HorizontalPanel(){
}

_ = HorizontalPanel.prototype = new CellPanel();
_.getClass$ = getClass_44;
_.remove_0 = remove_1;
_.typeId$ = 39;
_.tableRow = null;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function add_1(o){
  throw $UnsupportedOperationException(new UnsupportedOperationException(), 'add');
}

function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  return !!iter;
}

function getClass_99(){
  return Ljava_util_AbstractCollection_2_classlit;
}

function toString_15(){
  var comma, iter, sb;
  sb = $StringBuffer(new StringBuffer());
  comma = null;
  $append_0(sb.builder, '[');
  iter = this.iterator_0();
  while (iter.hasNext()) {
    if (comma != null) {
      $append_0(sb.builder, comma);
    }
     else {
      comma = ', ';
    }
    $append(sb, '' + iter.next_0());
  }
  $append_0(sb.builder, ']');
  return $toString_1(sb.builder);
}

function AbstractCollection(){
}

_ = AbstractCollection.prototype = new Object_0();
_.add_0 = add_1;
_.contains_0 = contains;
_.getClass$ = getClass_99;
_.toString$ = toString_15;
_.typeId$ = 0;
function add_3(obj){
  this.add(this.size_0(), obj);
  return true;
}

function add_2(index, element){
  throw $UnsupportedOperationException(new UnsupportedOperationException(), 'add');
}

function checkIndex(index, size){
  if (index < 0 || index >= size) {
    indexOutOfBounds(index, size);
  }
}

function equals_5(o){
  var elem, elemOther, iter, iterOther, other;
  if ((o == null?null:o) === (this == null?null:this)) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 41))) {
    return false;
  }
  other = dynamicCast(o, 41);
  if (this.size_0() != other.size_0()) {
    return false;
  }
  iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this);
  iterOther = other.iterator_0();
  while (iter.i_0 < iter.this$0.size_0()) {
    elem = $next_1(iter);
    elemOther = $next_1(iterOther);
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function getClass_106(){
  return Ljava_util_AbstractList_2_classlit;
}

function hashCode_6(){
  var iter, k, obj;
  k = 1;
  iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this);
  while (iter.i_0 < iter.this$0.size_0()) {
    obj = $next_1(iter);
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
  }
  return k;
}

function indexOutOfBounds(index, size){
  throw $IndexOutOfBoundsException(new IndexOutOfBoundsException(), 'Index: ' + index + ', Size: ' + size);
}

function iterator_3(){
  return $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this);
}

function remove_4(index){
  throw $UnsupportedOperationException(new UnsupportedOperationException(), 'remove');
}

function AbstractList(){
}

_ = AbstractList.prototype = new AbstractCollection();
_.add_0 = add_3;
_.add = add_2;
_.equals$ = equals_5;
_.getClass$ = getClass_106;
_.hashCode$ = hashCode_6;
_.iterator_0 = iterator_3;
_.remove = remove_4;
_.typeId$ = 40;
function $ArrayList(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classlit, 0, 0, 0, 0);
  this$static.size = 0;
  return this$static;
}

function $add_6(this$static, o){
  setCheck(this$static.array, this$static.size++, o);
  return true;
}

function $clear_0(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classlit, 0, 0, 0, 0);
  this$static.size = 0;
}

function $clearImpl_0(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classlit, 0, 0, 0, 0);
  this$static.size = 0;
}

function $get_1(this$static, index){
  checkIndex(index, this$static.size);
  return this$static.array[index];
}

function $indexOf_2(this$static, o, index){
  for (; index < this$static.size; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_7(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  this$static.array.splice(index, 1);
  --this$static.size;
  return previous;
}

function $remove_8(this$static, o){
  var i_0;
  i_0 = $indexOf_2(this$static, o, 0);
  if (i_0 == -1) {
    return false;
  }
  $remove_7(this$static, i_0);
  return true;
}

function $toArray(this$static, out){
  var i_0, a, result;
  if (out.length < this$static.size) {
    out = (a = out , result = createFromSeed(0, this$static.size) , initValues(a.arrayClass$, a.typeId$, a.queryId$, result) , result);
  }
  for (i_0 = 0; i_0 < this$static.size; ++i_0) {
    setCheck(out, i_0, this$static.array[i_0]);
  }
  if (out.length > this$static.size) {
    setCheck(out, this$static.size, null);
  }
  return out;
}

function add_5(o){
  return setCheck(this.array, this.size++, o) , true;
}

function add_4(index, o){
  if (index < 0 || index > this.size) {
    indexOutOfBounds(index, this.size);
  }
  this.array.splice(index, 0, o);
  ++this.size;
}

function contains_3(o){
  return $indexOf_2(this, o, 0) != -1;
}

function get_1(index){
  return checkIndex(index, this.size) , this.array[index];
}

function getClass_114(){
  return Ljava_util_ArrayList_2_classlit;
}

function remove_5(index){
  return $remove_7(this, index);
}

function size_3(){
  return this.size;
}

function ArrayList(){
}

_ = ArrayList.prototype = new AbstractList();
_.add_0 = add_5;
_.add = add_4;
_.contains_0 = contains_3;
_.get = get_1;
_.getClass$ = getClass_114;
_.remove = remove_5;
_.size_0 = size_3;
_.typeId$ = 41;
_.array = null;
_.size = 0;
function $MouseListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classlit, 0, 0, 0, 0);
  this$static.size = 0;
  return this$static;
}

function $fireMouseDown(this$static, sender, x, y){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 25);
    $onMouseDown(listener, sender, x, y);
  }
}

function $fireMouseEnter(this$static){
  var listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    dynamicCast($next_1(listener$iterator), 25);
  }
}

function $fireMouseEvent(this$static, sender, event_0){
  var from, senderElem, to, x, y;
  senderElem = sender.element;
  x = event_0.clientX - ($clinit_67() , documentRoot).clientLeft - (senderElem.getBoundingClientRect().left + documentRoot.scrollLeft - documentRoot.clientLeft) + (parseInt(senderElem['scrollLeft']) || 0) + documentRoot.scrollLeft;
  y = event_0.clientY - documentRoot.clientTop - (senderElem.getBoundingClientRect().top + documentRoot.scrollTop - documentRoot.clientTop) + (parseInt(senderElem['scrollTop']) || 0) + documentRoot.scrollTop;
  switch ($eventGetTypeInt(event_0)) {
    case 4:
      $fireMouseDown(this$static, sender, x, y);
      break;
    case 8:
      $fireMouseUp(this$static, sender, x, y);
      break;
    case 64:
      $fireMouseMove(this$static, sender, x, y);
      break;
    case 16:
      from = event_0.fromElement;
      if (!from || !(senderElem === from || senderElem.contains(from))) {
        $fireMouseEnter(this$static);
      }

      break;
    case 32:
      to = event_0.toElement;
      if (!to || !(senderElem === to || senderElem.contains(to))) {
        $fireMouseLeave(this$static);
      }

  }
}

function $fireMouseLeave(this$static){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 25);
    $onMouseLeave(listener);
  }
}

function $fireMouseMove(this$static, sender, x, y){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 25);
    $onMouseMove(listener, sender, x, y);
  }
}

function $fireMouseUp(this$static, sender, x, y){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 25);
    $onMouseUp(listener, sender, x, y);
  }
}

function getClass_46(){
  return Lcom_google_gwt_user_client_ui_MouseListenerCollection_2_classlit;
}

function MouseListenerCollection(){
}

_ = MouseListenerCollection.prototype = new ArrayList();
_.getClass$ = getClass_46;
_.typeId$ = 42;
function $clinit_95(){
  $clinit_95 = nullMethod;
  rootPanels = $HashMap(new HashMap());
}

function $RootPanel(this$static, elem){
  $clinit_95();
  this$static.children_0 = $WidgetCollection(new WidgetCollection(), this$static);
  this$static.element = elem;
  $onAttach(this$static);
  return this$static;
}

function get_0(id){
  $clinit_95();
  var elem, rp;
  rp = dynamicCast($get_0(rootPanels, id), 26);
  if (rp) {
    return rp;
  }
  elem = null;
  if (rootPanels.size == 0) {
    addWindowCloseListener(new RootPanel$1());
  }
  if (!elem) {
    elem = $doc.body;
  }
  dynamicCast($put(rootPanels, id, rp = $RootPanel(new RootPanel(), elem)), 26);
  return rp;
}

function getClass_49(){
  return Lcom_google_gwt_user_client_ui_RootPanel_2_classlit;
}

function RootPanel(){
}

_ = RootPanel.prototype = new AbsolutePanel();
_.getClass$ = getClass_49;
_.typeId$ = 43;
var rootPanels;
function getClass_48(){
  return Lcom_google_gwt_user_client_ui_RootPanel$1_2_classlit;
}

function onWindowClosed_0(){
  var gwt, gwt$iterator, outerIter, value;
  for (gwt$iterator = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $values(($clinit_95() , rootPanels)).val$entrySet.this$0) , $AbstractMap$2$1(new AbstractMap$2$1(), outerIter)); $hasNext_0(gwt$iterator.val$outerIter.iter);) {
    gwt = dynamicCast((value = dynamicCast($next_1(gwt$iterator.val$outerIter.iter), 40).getValue() , value), 26);
    if (gwt.attached) {
      $onDetach(gwt);
    }
  }
}

function onWindowClosing_0(){
  return null;
}

function RootPanel$1(){
}

_ = RootPanel$1.prototype = new Object_0();
_.getClass$ = getClass_48;
_.onWindowClosed = onWindowClosed_0;
_.onWindowClosing = onWindowClosing_0;
_.typeId$ = 44;
function $ScrollPanel_0(this$static, child){
  $SimplePanel_0(this$static, $doc.createElement('div'));
  this$static.element.style['overflow'] = 'auto';
  sinkEvents(this$static.element, 16384 | (this$static.element.__eventBits || 0));
  this$static.element.style['position'] = 'relative';
  $setWidget(this$static, child);
  return this$static;
}

function getClass_50(){
  return Lcom_google_gwt_user_client_ui_ScrollPanel_2_classlit;
}

function onBrowserEvent_2(event_0){
  $eventGetTypeInt(event_0) == 16384;
}

function setHeight(height){
  this.element.style['height'] = height;
}

function setWidth(width){
  this.element.style['width'] = width;
}

function ScrollPanel(){
}

_ = ScrollPanel.prototype = new SimplePanel();
_.getClass$ = getClass_50;
_.onBrowserEvent = onBrowserEvent_2;
_.setHeight = setHeight;
_.setWidth = setWidth;
_.typeId$ = 45;
function $SimplePanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  this$static.hasElement = !!this$static.this$0.widget;
  return this$static;
}

function getClass_51(){
  return Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classlit;
}

function hasNext_0(){
  return this.hasElement;
}

function next_1(){
  if (!this.hasElement || !this.this$0.widget) {
    throw new NoSuchElementException();
  }
  this.hasElement = false;
  return this.this$0.widget;
}

function SimplePanel$1(){
}

_ = SimplePanel$1.prototype = new Object_0();
_.getClass$ = getClass_51;
_.hasNext = hasNext_0;
_.next_0 = next_1;
_.typeId$ = 0;
_.this$0 = null;
function $TabBar(this$static){
  var first, rest, td, td_0;
  this$static.panel = $HorizontalPanel(new HorizontalPanel());
  $initWidget(this$static, this$static.panel);
  sinkEvents(this$static.element, 1 | (this$static.element.__eventBits || 0));
  this$static.element['className'] = 'gwt-TabBar';
  this$static.panel.vertAlign = ($clinit_84() , ALIGN_BOTTOM);
  first = $HTML_0(new HTML(), '&nbsp;', true);
  rest = $HTML_0(new HTML(), '&nbsp;', true);
  first.element['className'] = 'gwt-TabBarFirst';
  rest.element['className'] = 'gwt-TabBarRest';
  first.element.style['height'] = '100%';
  rest.element.style['height'] = '100%';
  $add_2(this$static.panel, first);
  $add_2(this$static.panel, rest);
  first.element.style['height'] = '100%';
  td = first.element.parentElement;
  td['height'] = '100%';
  td_0 = rest.element.parentElement;
  td_0['width'] = '100%';
  return this$static;
}

function $addTab(this$static, text){
  $insertTab(this$static, text, false, this$static.panel.children_0.size - 2);
}

function $addTabListener(this$static, listener){
  if (!this$static.tabListeners) {
    this$static.tabListeners = $TabListenerCollection(new TabListenerCollection());
  }
  $add_6(this$static.tabListeners, listener);
}

function $checkInsertBeforeTabIndex(this$static, beforeIndex){
  if (beforeIndex < 0 || beforeIndex > this$static.panel.children_0.size - 2) {
    throw new IndexOutOfBoundsException();
  }
}

function $checkTabIndex(this$static, index){
  if (index < -1 || index >= this$static.panel.children_0.size - 2) {
    throw new IndexOutOfBoundsException();
  }
}

function $insertTab(this$static, text, asHTML, beforeIndex){
  var item, delWidget;
  $checkInsertBeforeTabIndex(this$static, beforeIndex);
  if (asHTML) {
    item = $HTML(new HTML(), text);
  }
   else {
    item = $Label_0(new Label(), text);
  }
  item.element.style['whiteSpace'] = 'nowrap';
  $checkInsertBeforeTabIndex(this$static, beforeIndex);
  delWidget = $TabBar$ClickDelegatePanel(new TabBar$ClickDelegatePanel(), item, this$static, this$static);
  delWidget.element['className'] = 'gwt-TabBarItem';
  $insert_0(this$static.panel, delWidget, beforeIndex + 1);
  setStyleName(delWidget.element.parentElement, 'gwt-TabBarItem-wrapper', true);
}

function $onKeyDown(this$static, sender, keyCode){
  if (keyCode == 13) {
    $selectTabByTabWidget(this$static, sender);
  }
}

function $selectTab(this$static, index){
  $checkTabIndex(this$static, index);
  if (this$static.tabListeners) {
    if (!$fireBeforeTabSelected(this$static.tabListeners)) {
      return false;
    }
  }
  $setSelectionStyle(this$static.selectedTab, false);
  if (index == -1) {
    this$static.selectedTab = null;
    return true;
  }
  this$static.selectedTab = $get(this$static.panel.children_0, index + 1);
  $setSelectionStyle(this$static.selectedTab, true);
  if (this$static.tabListeners) {
    $fireTabSelected(this$static.tabListeners, index);
  }
  return true;
}

function $selectTabByTabWidget(this$static, tabWidget){
  var i_0, numTabs;
  numTabs = this$static.panel.children_0.size - 1;
  for (i_0 = 1; i_0 < numTabs; ++i_0) {
    if ($get(this$static.panel.children_0, i_0) == tabWidget) {
      return $selectTab(this$static, i_0 - 1);
    }
  }
  return false;
}

function $setSelectionStyle(item, selected){
  if (item) {
    if (selected) {
      setStyleName(item.element, 'gwt-TabBarItem-selected', true);
      setStyleName(item.element.parentElement, 'gwt-TabBarItem-wrapper-selected', true);
    }
     else {
      setStyleName(item.element, 'gwt-TabBarItem-selected', false);
      setStyleName(item.element.parentElement, 'gwt-TabBarItem-wrapper-selected', false);
    }
  }
}

function getClass_54(){
  return Lcom_google_gwt_user_client_ui_TabBar_2_classlit;
}

function TabBar(){
}

_ = TabBar.prototype = new Composite();
_.getClass$ = getClass_54;
_.typeId$ = 46;
_.selectedTab = null;
_.tabListeners = null;
function $TabBar$ClickDelegatePanel(this$static, child, cDelegate, kDelegate){
  this$static.clickDelegate = cDelegate;
  this$static.keyDelegate = kDelegate;
  this$static.focusablePanel = $SimplePanel_0(new SimplePanel(), $createFocusable());
  $setWidget(this$static.focusablePanel, child);
  $initWidget(this$static, this$static.focusablePanel);
  sinkEvents(this$static.element, 129 | (this$static.element.__eventBits || 0));
  return this$static;
}

function getClass_53(){
  return Lcom_google_gwt_user_client_ui_TabBar$ClickDelegatePanel_2_classlit;
}

function onBrowserEvent_3(event_0){
  switch ($eventGetTypeInt(event_0)) {
    case 1:
      $selectTabByTabWidget(this.clickDelegate, this);
      break;
    case 128:
      $onKeyDown(this.keyDelegate, this, (event_0.which || (event_0.keyCode || -1)) & 65535, (event_0.shiftKey?1:0) | (event_0.metaKey?8:0) | (event_0.ctrlKey?2:0) | (event_0.altKey?4:0));
  }
}

function TabBar$ClickDelegatePanel(){
}

_ = TabBar$ClickDelegatePanel.prototype = new Composite();
_.getClass$ = getClass_53;
_.onBrowserEvent = onBrowserEvent_3;
_.typeId$ = 47;
_.clickDelegate = null;
_.focusablePanel = null;
_.keyDelegate = null;
function $TabListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classlit, 0, 0, 0, 0);
  this$static.size = 0;
  return this$static;
}

function $fireBeforeTabSelected(this$static){
  var listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    dynamicCast($next_1(listener$iterator), 27);
  }
  return true;
}

function $fireTabSelected(this$static, tabIndex){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 27);
    $onTabSelected(listener, tabIndex);
  }
}

function getClass_55(){
  return Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classlit;
}

function TabListenerCollection(){
}

_ = TabListenerCollection.prototype = new ArrayList();
_.getClass$ = getClass_55;
_.typeId$ = 48;
function $VerticalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_81() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_84() , ALIGN_TOP);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_4(this$static, w){
  var td_2, tr;
  tr = $doc.createElement('tr');
  td_2 = $createAlignedTd_0(this$static);
  tr.appendChild(td_2);
  this$static.body_0.appendChild(tr);
  $removeFromParent(w);
  $add_5(this$static.children_0, w);
  td_2.appendChild(w.element);
  $setParent(w, this$static);
}

function $createAlignedTd_0(this$static){
  var td;
  td = $doc.createElement('td');
  td['align'] = this$static.horzAlign.textAlignString;
  td.style['verticalAlign'] = this$static.vertAlign.verticalAlignString;
  return td;
}

function $insert_1(this$static, w, beforeIndex){
  var td_2, tr;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  tr = $doc.createElement('tr');
  td_2 = $createAlignedTd_0(this$static);
  tr.appendChild(td_2);
  $insertChild(this$static.body_0, tr, beforeIndex);
  $insert(this$static, w, td_2, beforeIndex, false);
}

function $remove_2(this$static, w){
  var removed, td;
  td = w.element.parentElement;
  removed = $remove_0(this$static, w);
  if (removed) {
    this$static.body_0.removeChild(td.parentElement);
  }
  return removed;
}

function getClass_57(){
  return Lcom_google_gwt_user_client_ui_VerticalPanel_2_classlit;
}

function remove_3(w){
  return $remove_2(this, w);
}

function VerticalPanel(){
}

_ = VerticalPanel.prototype = new CellPanel();
_.getClass$ = getClass_57;
_.remove_0 = remove_3;
_.typeId$ = 49;
function $WidgetCollection(this$static, parent){
  this$static.parent = parent;
  this$static.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classlit, 0, 2, 4, 0);
  return this$static;
}

function $add_5(this$static, w){
  $insert_2(this$static, w, this$static.size);
}

function $get(this$static, index){
  if (index < 0 || index >= this$static.size) {
    throw new IndexOutOfBoundsException();
  }
  return this$static.array[index];
}

function $indexOf(this$static, w){
  var i_0;
  for (i_0 = 0; i_0 < this$static.size; ++i_0) {
    if (this$static.array[i_0] == w) {
      return i_0;
    }
  }
  return -1;
}

function $insert_2(this$static, w, beforeIndex){
  var i_0, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size) {
    throw new IndexOutOfBoundsException();
  }
  if (this$static.size == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classlit, 0, 2, this$static.array.length * 2, 0);
    for (i_0 = 0; i_0 < this$static.array.length; ++i_0) {
      setCheck(newArray, i_0, this$static.array[i_0]);
    }
    this$static.array = newArray;
  }
  ++this$static.size;
  for (i_0 = this$static.size - 1; i_0 > beforeIndex; --i_0) {
    setCheck(this$static.array, i_0, this$static.array[i_0 - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_4(this$static, index){
  var i_0;
  if (index < 0 || index >= this$static.size) {
    throw new IndexOutOfBoundsException();
  }
  --this$static.size;
  for (i_0 = index; i_0 < this$static.size; ++i_0) {
    setCheck(this$static.array, i_0, this$static.array[i_0 + 1]);
  }
  setCheck(this$static.array, this$static.size, null);
}

function $remove_5(this$static, w){
  var index;
  index = $indexOf(this$static, w);
  if (index == -1) {
    throw new NoSuchElementException();
  }
  $remove_4(this$static, index);
}

function getClass_59(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection_2_classlit;
}

function WidgetCollection(){
}

_ = WidgetCollection.prototype = new Object_0();
_.getClass$ = getClass_59;
_.typeId$ = 0;
_.array = null;
_.parent = null;
_.size = 0;
function $WidgetCollection$WidgetIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $next_0(this$static){
  if (this$static.index >= this$static.this$0.size) {
    throw new NoSuchElementException();
  }
  return this$static.this$0.array[++this$static.index];
}

function $remove_3(this$static){
  if (this$static.index < 0 || this$static.index >= this$static.this$0.size) {
    throw new IllegalStateException();
  }
  this$static.this$0.parent.remove_0(this$static.this$0.array[this$static.index--]);
}

function getClass_58(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classlit;
}

function hasNext_1(){
  return this.index < this.this$0.size - 1;
}

function next_2(){
  return $next_0(this);
}

function WidgetCollection$WidgetIterator(){
}

_ = WidgetCollection$WidgetIterator.prototype = new Object_0();
_.getClass$ = getClass_58;
_.hasNext = hasNext_1;
_.next_0 = next_2;
_.typeId$ = 0;
_.index = -1;
_.this$0 = null;
function $createFocusable(){
  var e = $doc.createElement('DIV');
  e.tabIndex = 0;
  return e;
}

function $Application(this$static){
  this$static.controller = $Controller(new Controller());
  this$static.widgetService = $WidgetService(new WidgetService());
  this$static.newsService = $NewsService(new NewsService());
  this$static.widgetBuilder = $WidgetBuilder(new WidgetBuilder());
  this$static.widgetFactory = $WidgetFactory(new WidgetFactory());
  this$static.container = $VerticalPanel(new VerticalPanel());
  this$static.dndPanel = $IndexedPanelExample(new IndexedPanelExample());
  $setSize(this$static.container, '100%', '100%');
  $addApplicationEventListener_0(this$static.controller, this$static);
  $addApplicationEventListener_1(this$static.dndPanel, this$static.controller);
  $addApplicationEventListener(this$static.widgetService, this$static.controller);
  $addApplicationEventListener(this$static.newsService, this$static.controller);
  $addApplicationEventListener(this$static.widgetFactory, this$static.controller);
  $addApplicationEventListener(this$static.widgetBuilder, this$static.controller);
  $add_4(this$static.container, this$static.dndPanel);
  $initWidget(this$static, this$static.container);
  $selectTab(this$static.dndPanel.bar, 0);
  return this$static;
}

function getClass_61(){
  return Lcom_sfeir_poc_portal_gui_client_Application_2_classlit;
}

function onActionFired(event_0){
}

function Application(){
}

_ = Application.prototype = new Composite();
_.getClass$ = getClass_61;
_.onActionFired = onActionFired;
_.typeId$ = 50;
_.container = null;
_.dndPanel = null;
function $addApplicationEventListener(this$static, listener){
  if ($indexOf_2(this$static.applicationListeners, listener, 0) == -1) {
    $add_6(this$static.applicationListeners, listener);
    if (listener != null && canCast(listener.typeId$, 29)) {
      dynamicCast(listener, 29).addApplicationEventListener(this$static);
    }
  }
}

function $fireActionEvent(this$static, type, eventContext){
  var event_0, listener, listener$iterator;
  event_0 = $ApplicationEvent(new ApplicationEvent(), type, eventContext);
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.applicationListeners); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 30);
    listener.onActionFired(event_0);
  }
}

function addApplicationEventListener(listener){
  $addApplicationEventListener(this, listener);
}

function getClass_62(){
  return Lcom_sfeir_poc_portal_gui_client_EventAwareClass_2_classlit;
}

function onActionFired_0(event_0){
}

function EventAwareClass(){
}

_ = EventAwareClass.prototype = new Object_0();
_.addApplicationEventListener = addApplicationEventListener;
_.getClass$ = getClass_62;
_.onActionFired = onActionFired_0;
_.typeId$ = 51;
function $WidgetFactory(this$static){
  this$static.applicationListeners = $ArrayList(new ArrayList());
  this$static.widgetsDescriptions = $HashMap(new HashMap());
  return this$static;
}

function $buildWidgetsDescriptions(this$static, widgetsList){
  var currentWidgetDescription, iterator, position, strings;
  $clearImpl(this$static.widgetsDescriptions);
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), widgetsList); iterator.i_0 < iterator.this$0.size_0();) {
    strings = dynamicCast($next_1(iterator), 32);
    position = new Position();
    $Integer(new Integer(), strings[1]);
    currentWidgetDescription = new WidgetDescription();
    currentWidgetDescription.colonne = $Integer(new Integer(), strings[1]);
    currentWidgetDescription.type_0 = strings[2];
    currentWidgetDescription.titre = strings[0];
    currentWidgetDescription.url_0 = strings[3];
    if (compareTo_3(currentWidgetDescription.type_0, 'spreadsheet') == 0) {
      $fireActionEvent(this$static, ($clinit_126() , RETRIEVE_FEED), currentWidgetDescription);
    }
     else if (compareTo_3(currentWidgetDescription.type_0, 'rss') == 0) {
      $fireActionEvent(this$static, ($clinit_126() , RETRIEVE_FEED), currentWidgetDescription);
    }
     else 
      dynamicCast($put(this$static.widgetsDescriptions, position, currentWidgetDescription), 31);
  }
  $fireActionEvent(this$static, ($clinit_126() , UPDATE_WIDGETS), this$static.widgetsDescriptions);
}

function $updateAWidgetDescription(this$static, aWidgetDescription){
  var position;
  position = new Position();
  dynamicCast($put(this$static.widgetsDescriptions, position, aWidgetDescription), 31);
  $fireActionEvent(this$static, ($clinit_126() , UPDATE_WIDGETS), this$static.widgetsDescriptions);
}

function getClass_63(){
  return Lcom_sfeir_poc_portal_gui_client_WidgetFactory_2_classlit;
}

function onActionFired_1(event_0){
  var widgetsList;
  if (event_0.type_0 == ($clinit_126() , CREATE_WIDGETS)) {
    widgetsList = $parse(dynamicCast(event_0.context, 1));
    $buildWidgetsDescriptions(this, widgetsList);
  }
   else if (event_0.type_0 == UPDATE_FACTORY) {
    $updateAWidgetDescription(this, dynamicCast(event_0.context, 31));
  }
}

function WidgetFactory(){
}

_ = WidgetFactory.prototype = new EventAwareClass();
_.getClass$ = getClass_63;
_.onActionFired = onActionFired_1;
_.typeId$ = 52;
function $Controller(this$static){
  this$static.applicationListeners = $ArrayList(new ArrayList());
  return this$static;
}

function $addApplicationEventListener_0(this$static, listener){
  if ($indexOf_2(this$static.applicationListeners, listener, 0) == -1) {
    $add_6(this$static.applicationListeners, listener);
  }
}

function $fireActionEvent_0(this$static, type, eventContext){
  var event_0, listener, listener$iterator;
  event_0 = $ApplicationEvent(new ApplicationEvent(), type, eventContext);
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.applicationListeners); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 30);
    listener.onActionFired(event_0);
  }
}

function addApplicationEventListener_0(listener){
  $addApplicationEventListener_0(this, listener);
}

function getClass_64(){
  return Lcom_sfeir_poc_portal_gui_client_controller_Controller_2_classlit;
}

function onActionFired_2(event_0){
  if (!event_0) {
    return;
  }
  switch (event_0.type_0.ordinal) {
    case 0:
      $fireActionEvent_0(this, ($clinit_126() , GET_WIDGETS), event_0.context);
      break;
    case 2:
      $fireActionEvent_0(this, ($clinit_126() , CREATE_WIDGETS), event_0.context);
      break;
    case 13:
      $fireActionEvent_0(this, ($clinit_126() , CREATE_WIDGET_VIEW), event_0.context);
      break;
    case 5:
      $fireActionEvent_0(this, ($clinit_126() , GET_FEED), event_0.context);
      break;
    case 6:
      $fireActionEvent_0(this, ($clinit_126() , UPDATE_FACTORY), event_0.context);
      break;
    case 8:
      $fireActionEvent_0(this, ($clinit_126() , CREATE_WIDGET_VIEWS), event_0.context);
      break;
    case 10:
      $fireActionEvent_0(this, ($clinit_126() , DISPLAY_WIDGETS), event_0.context);
      break;
    case 16:
      $fireActionEvent_0(this, ($clinit_126() , DISPLAY_WIDGET), event_0.context);
  }
}

function Controller(){
}

_ = Controller.prototype = new Object_0();
_.addApplicationEventListener = addApplicationEventListener_0;
_.getClass$ = getClass_64;
_.onActionFired = onActionFired_2;
_.typeId$ = 53;
function $IndexedPanelExample(this$static){
  var columnCompositePanel, headerPanel, i_0, spacerLabel, verticalPanel, widgetDropController;
  $SimplePanel_0(this$static, $doc.createElement('div'));
  this$static.applicationListeners = $ArrayList(new ArrayList());
  setStyleName(this$static.element, 'indexed-panel', true);
  this$static.widgetDropControllerList = $ArrayList(new ArrayList());
  this$static.spacerLabelList = $ArrayList(new ArrayList());
  this$static.columnCompositePanelList = $ArrayList(new ArrayList());
  this$static.boundaryPanel = $AbsolutePanel(new AbsolutePanel());
  $setWidget(this$static, this$static.boundaryPanel);
  this$static.mainContainer = $VerticalPanel(new VerticalPanel());
  setStyleName(this$static.boundaryPanel.element, 'main-container', true);
  $setSize(this$static.boundaryPanel, '97%', '100%');
  $setSize(this$static.mainContainer, '100%', '100%');
  $add(this$static.boundaryPanel, this$static.mainContainer);
  headerPanel = $HorizontalPanel(new HorizontalPanel());
  setStyleName(headerPanel.element, 'header-panel', true);
  headerPanel.element.style['width'] = '100%';
  headerPanel.element.style['height'] = '75px';
  $add_2(headerPanel, $Label_0(new Label(), 'Nouvelle cuisine : SFEIR en 2.0'));
  $add_4(this$static.mainContainer, headerPanel);
  this$static.bar = $TabBar(new TabBar());
  $addTab(this$static.bar, 'Actu');
  $addTab(this$static.bar, 'Presentations');
  $addTab(this$static.bar, 'Videos');
  $addTabListener(this$static.bar, $IndexedPanelExample$1(new IndexedPanelExample$1(), this$static));
  $add_4(this$static.mainContainer, this$static.bar);
  this$static.widgetDragController = $PickupDragController(new PickupDragController(), this$static.boundaryPanel, false);
  $setBehaviorMultipleSelection(this$static.widgetDragController, false);
  this$static.verticalPanelList = $ArrayList(new ArrayList());
  for (i_0 = 0; i_0 < 3; ++i_0) {
    verticalPanel = $VerticalPanel(new VerticalPanel());
    verticalPanel.table['cellSpacing'] = 0;
    $add_6(this$static.verticalPanelList, verticalPanel);
    widgetDropController = $NoInsertAtEndIndexedDropController(new NoInsertAtEndIndexedDropController(), dynamicCast($get_1(this$static.verticalPanelList, i_0), 17));
    $add_6(this$static.widgetDragController.dropControllerList, widgetDropController);
    $add_6(this$static.widgetDropControllerList, widgetDropController);
    spacerLabel = $Label_0(new Label(), '');
    $setPixelSize(spacerLabel, 350, 100);
    $add_6(this$static.spacerLabelList, spacerLabel);
    columnCompositePanel = $VerticalPanel(new VerticalPanel());
    columnCompositePanel.element.style['width'] = '350px';
    setStyleName(columnCompositePanel.element, 'column', true);
    $add_6(this$static.columnCompositePanelList, columnCompositePanel);
  }
  this$static.horizontalPanel = $HorizontalPanel(new HorizontalPanel());
  this$static.horizontalPanel.table['cellSpacing'] = 0;
  this$static.horizontalPanel.element.style['width'] = '100%';
  $add_4(this$static.mainContainer, this$static.horizontalPanel);
  return this$static;
}

function $addApplicationEventListener_1(this$static, listener){
  if ($indexOf_2(this$static.applicationListeners, listener, 0) == -1) {
    $add_6(this$static.applicationListeners, listener);
    if (listener != null && canCast(listener.typeId$, 29)) {
      dynamicCast(listener, 29).addApplicationEventListener(this$static);
    }
  }
}

function $createWidget(this$static, widgetDescription){
  var html, widget, widgetContent, widgetHeader;
  widgetHeader = $HTML(new HTML(), 'Widget');
  widgetHeader.element.style['width'] = '100%';
  widgetHeader.element.style['height'] = '50px';
  widgetContent = $HorizontalPanel(new HorizontalPanel());
  html = null;
  html = $HTML(new HTML(), widgetDescription.content_0);
  $add_2(widgetContent, html);
  widgetHeader.element.innerHTML = widgetDescription.titre || '';
  $setPixelSize(widgetContent, 65, 58);
  setStyleName(widgetContent.element, 'demo-resize-html', true);
  widget = $WindowPanel(new WindowPanel(), (dynamicCast($get_1(this$static.widgetDropControllerList, widgetDescription.colonne.value - 1), 35) , widgetHeader), widgetContent, true);
  $makeDraggable(this$static.widgetDragController, widget, widgetHeader);
  return widget;
}

function $drawScreen(this$static, widgets2){
  var currentWidget, i_0, iterator, position, widget_2, entrySet, outerIter, entry;
  $clear(this$static.horizontalPanel);
  for (i_0 = 0; i_0 < 3; ++i_0) {
    $clear(dynamicCast($get_1(this$static.verticalPanelList, i_0), 17));
  }
  setStyleName(this$static.element, 'indexed-panel', true);
  for (i_0 = 0; i_0 < 3; ++i_0) {
    $add_2(this$static.horizontalPanel, dynamicCast($get_1(this$static.columnCompositePanelList, i_0), 17));
    $add_4(dynamicCast($get_1(this$static.columnCompositePanelList, i_0), 17), dynamicCast($get_1(this$static.verticalPanelList, i_0), 17));
  }
  for (iterator = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), (entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), widgets2) , $AbstractMap$1(new AbstractMap$1(), widgets2, entrySet)).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter)); $hasNext_0(iterator.val$outerIter.iter);) {
    position = dynamicCast((entry = dynamicCast($next_1(iterator.val$outerIter.iter), 40) , entry.getKey()), 33);
    currentWidget = dynamicCast(!position?widgets2.nullSlot:$getHashValue(widgets2, position, position.$H || (position.$H = ++sNextHashId)), 31);
    widget_2 = $createWidget(this$static, currentWidget);
    $drawWidget(this$static, widget_2, currentWidget.colonne.value);
  }
  for (i_0 = 0; i_0 < 3; ++i_0) {
    $add_4(dynamicCast($get_1(this$static.verticalPanelList, i_0), 17), dynamicCast($get_1(this$static.spacerLabelList, i_0), 34));
  }
}

function $drawWidget(this$static, widget, colonne){
  --colonne;
  $remove_2(dynamicCast($get_1(this$static.verticalPanelList, colonne), 17), dynamicCast($get_1(this$static.spacerLabelList, colonne), 34));
  $add_0(this$static.boundaryPanel, widget, 70, 30);
  $add_4(dynamicCast($get_1(this$static.verticalPanelList, colonne), 17), widget);
  $add_4(dynamicCast($get_1(this$static.verticalPanelList, colonne), 17), dynamicCast($get_1(this$static.spacerLabelList, colonne), 34));
}

function $fireActionEvent_1(this$static, type, eventContext){
  var event_0, listener, listener$iterator;
  event_0 = $ApplicationEvent(new ApplicationEvent(), type, eventContext);
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.applicationListeners); listener$iterator.i_0 < listener$iterator.this$0.size_0();) {
    listener = dynamicCast($next_1(listener$iterator), 30);
    listener.onActionFired(event_0);
  }
}

function $updateWidget(this$static, widgetDescription){
  $drawWidget(this$static, $createWidget(this$static, widgetDescription), widgetDescription.colonne.value);
}

function addApplicationEventListener_1(listener){
  $addApplicationEventListener_1(this, listener);
}

function getClass_66(){
  return Lcom_sfeir_poc_portal_gui_client_dnd_IndexedPanelExample_2_classlit;
}

function onActionFired_3(event_0){
  if (event_0.type_0 == ($clinit_126() , DISPLAY_WIDGETS)) {
    $drawScreen(this, dynamicCast(event_0.context, 36));
  }
   else if (event_0.type_0 == DISPLAY_WIDGET) {
    $updateWidget(this, dynamicCast(event_0.context, 31));
  }
}

function IndexedPanelExample(){
}

_ = IndexedPanelExample.prototype = new SimplePanel();
_.addApplicationEventListener = addApplicationEventListener_1;
_.getClass$ = getClass_66;
_.onActionFired = onActionFired_3;
_.typeId$ = 54;
_.bar = null;
_.boundaryPanel = null;
_.columnCompositePanelList = null;
_.horizontalPanel = null;
_.mainContainer = null;
_.spacerLabelList = null;
_.verticalPanelList = null;
_.widgetDragController = null;
_.widgetDropControllerList = null;
function $IndexedPanelExample$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $onTabSelected(this$static, tabIndex){
  if (tabIndex == 0) {
    $fireActionEvent_1(this$static.this$0, ($clinit_126() , RETRIEVE_WIDGETS), 'http://spreadsheets.google.com/feeds/list/p3LBE0Sn_fQGGYGgRI_VuDw/od6/public/basic');
  }
   else if (tabIndex == 1) {
    $fireActionEvent_1(this$static.this$0, ($clinit_126() , RETRIEVE_WIDGETS), 'http://spreadsheets.google.com/feeds/list/p3LBE0Sn_fQGGYGgRI_VuDw/od7/public/basic');
  }
   else if (tabIndex == 2) {
    $fireActionEvent_1(this$static.this$0, ($clinit_126() , RETRIEVE_WIDGETS), 'http://spreadsheets.google.com/feeds/list/p3LBE0Sn_fQGGYGgRI_VuDw/od4/public/basic');
  }
}

function getClass_65(){
  return Lcom_sfeir_poc_portal_gui_client_dnd_IndexedPanelExample$1_2_classlit;
}

function IndexedPanelExample$1(){
}

_ = IndexedPanelExample$1.prototype = new Object_0();
_.getClass$ = getClass_65;
_.typeId$ = 55;
_.this$0 = null;
function $clinit_122(){
  $clinit_122 = nullMethod;
  $clinit_18();
}

function $NoInsertAtEndIndexedDropController(this$static, dropTarget){
  $clinit_122();
  $IndexedDropController(this$static, dropTarget);
  this$static.dropTarget = dropTarget;
  return this$static;
}

function getClass_67(){
  return Lcom_sfeir_poc_portal_gui_client_dnd_NoInsertAtEndIndexedDropController_2_classlit;
}

function insert_0(widget, beforeIndex){
  if (beforeIndex == this.dropTarget.children_0.size) {
    --beforeIndex;
  }
  $insert_1(this.dropTarget_0, widget, beforeIndex);
}

function NoInsertAtEndIndexedDropController(){
}

_ = NoInsertAtEndIndexedDropController.prototype = new IndexedDropController();
_.getClass$ = getClass_67;
_.insert = insert_0;
_.typeId$ = 56;
_.dropTarget = null;
function $WindowPanel(this$static, headerWidget, contentWidget, wrapContentInScrollPanel){
  var headerPanel, panel, verticalPanel;
  $FocusPanel(this$static);
  this$static.element.style['width'] = '100%';
  setStyleName(this$static.element, 'widget-container', true);
  setStyleName(contentWidget.element, 'content-widget', true);
  contentWidget.element.style['width'] = '100%';
  this$static.contentOrScrollPanelWidget = wrapContentInScrollPanel?$ScrollPanel_0(new ScrollPanel(), contentWidget):contentWidget;
  this$static.headerContainer = $FocusPanel(new FocusPanel());
  this$static.headerContainer.element.style['width'] = '100%';
  setStyleName(this$static.headerContainer.element, 'widget-header', true);
  headerPanel = $HorizontalPanel(new HorizontalPanel());
  headerPanel.element.style['width'] = '100%';
  headerPanel.element.style['height'] = '100%';
  headerWidget.element.style['height'] = '20px';
  $add_2(headerPanel, headerWidget);
  setStyleName(headerPanel.element, 'header-widget', true);
  $add_3(this$static.headerContainer, headerPanel);
  verticalPanel = $VerticalPanel(new VerticalPanel());
  verticalPanel.element.style['width'] = '100%';
  setStyleName(verticalPanel.element, 'widget-vertical-panel', true);
  $add_4(verticalPanel, this$static.headerContainer);
  $add_4(verticalPanel, this$static.contentOrScrollPanelWidget);
  panel = $DecoratorPanel(new DecoratorPanel());
  panel.element.style['width'] = '100%';
  $add_3(panel, verticalPanel);
  $add_3(this$static, panel);
  return this$static;
}

function getClass_68(){
  return Lcom_sfeir_poc_portal_gui_client_dnd_WindowPanel_2_classlit;
}

function WindowPanel(){
}

_ = WindowPanel.prototype = new FocusPanel();
_.getClass$ = getClass_68;
_.typeId$ = 57;
_.contentOrScrollPanelWidget = null;
_.headerContainer = null;
function $ApplicationEvent(this$static, type, context){
  this$static.type_0 = type;
  this$static.context = context;
  return this$static;
}

function getClass_70(){
  return Lcom_sfeir_poc_portal_gui_client_events_ApplicationEvent_2_classlit;
}

function toString_6(){
  return this.type_0.name_0;
}

function ApplicationEvent(){
}

_ = ApplicationEvent.prototype = new Object_0();
_.getClass$ = getClass_70;
_.toString$ = toString_6;
_.typeId$ = 0;
_.context = null;
_.type_0 = null;
function compareTo_0(other){
  return this.ordinal - other.ordinal;
}

function equals_1(other){
  return (this == null?null:this) === (other == null?null:other);
}

function getClass_83(){
  return Ljava_lang_Enum_2_classlit;
}

function hashCode_2(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_8(){
  return this.name_0;
}

function Enum(){
}

_ = Enum.prototype = new Object_0();
_.compareTo$ = compareTo_0;
_.equals$ = equals_1;
_.getClass$ = getClass_83;
_.hashCode$ = hashCode_2;
_.toString$ = toString_8;
_.typeId$ = 58;
_.name_0 = null;
_.ordinal = 0;
function $clinit_126(){
  $clinit_126 = nullMethod;
  RETRIEVE_WIDGETS = $ApplicationEventType(new ApplicationEventType(), 'RETRIEVE_WIDGETS', 0);
  GET_WIDGETS = $ApplicationEventType(new ApplicationEventType(), 'GET_WIDGETS', 1);
  WIDGETS_UPDATED = $ApplicationEventType(new ApplicationEventType(), 'WIDGETS_UPDATED', 2);
  CREATE_WIDGETS = $ApplicationEventType(new ApplicationEventType(), 'CREATE_WIDGETS', 3);
  GET_FEED = $ApplicationEventType(new ApplicationEventType(), 'GET_FEED', 4);
  RETRIEVE_FEED = $ApplicationEventType(new ApplicationEventType(), 'RETRIEVE_FEED', 5);
  $ApplicationEventType(new ApplicationEventType(), 'UPDATE_FEED', 6);
  UPDATE_FACTORY = $ApplicationEventType(new ApplicationEventType(), 'UPDATE_FACTORY', 7);
  UPDATE_WIDGETS = $ApplicationEventType(new ApplicationEventType(), 'UPDATE_WIDGETS', 8);
  CREATE_WIDGET_VIEWS = $ApplicationEventType(new ApplicationEventType(), 'CREATE_WIDGET_VIEWS', 9);
  RENDER_WIDGETS = $ApplicationEventType(new ApplicationEventType(), 'RENDER_WIDGETS', 10);
  DISPLAY_WIDGETS = $ApplicationEventType(new ApplicationEventType(), 'DISPLAY_WIDGETS', 11);
  $ApplicationEventType(new ApplicationEventType(), 'DISPLAY_FULL_CONTENT', 12);
  WIDGET_UPDATED = $ApplicationEventType(new ApplicationEventType(), 'WIDGET_UPDATED', 13);
  $ApplicationEventType(new ApplicationEventType(), 'CREATE_WIDGET', 14);
  CREATE_WIDGET_VIEW = $ApplicationEventType(new ApplicationEventType(), 'CREATE_WIDGET_VIEW', 15);
  RENDER_WIDGET = $ApplicationEventType(new ApplicationEventType(), 'RENDER_WIDGET', 16);
  DISPLAY_WIDGET = $ApplicationEventType(new ApplicationEventType(), 'DISPLAY_WIDGET', 17);
}

function $ApplicationEventType(this$static, enum$name, enum$ordinal){
  $clinit_126();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_69(){
  return Lcom_sfeir_poc_portal_gui_client_events_ApplicationEventType_2_classlit;
}

function ApplicationEventType(){
}

_ = ApplicationEventType.prototype = new Enum();
_.getClass$ = getClass_69;
_.typeId$ = 59;
var CREATE_WIDGETS, CREATE_WIDGET_VIEW, CREATE_WIDGET_VIEWS, DISPLAY_WIDGET, DISPLAY_WIDGETS, GET_FEED, GET_WIDGETS, RENDER_WIDGET, RENDER_WIDGETS, RETRIEVE_FEED, RETRIEVE_WIDGETS, UPDATE_FACTORY, UPDATE_WIDGETS, WIDGETS_UPDATED, WIDGET_UPDATED;
function getClass_71(){
  return Lcom_sfeir_poc_portal_gui_client_objects_News_2_classlit;
}

function News(){
}

_ = News.prototype = new Object_0();
_.getClass$ = getClass_71;
_.typeId$ = 60;
_.date = null;
_.titre = null;
_.url_0 = null;
function getClass_72(){
  return Lcom_sfeir_poc_portal_gui_client_objects_Position_2_classlit;
}

function Position(){
}

_ = Position.prototype = new Object_0();
_.getClass$ = getClass_72;
_.typeId$ = 61;
function getClass_73(){
  return Lcom_sfeir_poc_portal_gui_client_objects_WidgetDescription_2_classlit;
}

function WidgetDescription(){
}

_ = WidgetDescription.prototype = new Object_0();
_.getClass$ = getClass_73;
_.typeId$ = 62;
_.colonne = null;
_.content_0 = null;
_.news = null;
_.titre = null;
_.type_0 = null;
_.url_0 = null;
function $NewsService(this$static){
  this$static.applicationListeners = $ArrayList(new ArrayList());
  return this$static;
}

function $getNews(this$static, widgetDescription){
  var feed;
  feed = $Feed(new Feed());
  $getFeed_0(feed, widgetDescription.url_0 + '#' + toString_4(fromDouble((new Date()).getTime())), this$static, widgetDescription);
}

function getClass_74(){
  return Lcom_sfeir_poc_portal_gui_client_services_NewsService_2_classlit;
}

function onActionFired_4(event_0){
  if (event_0.type_0 == ($clinit_126() , GET_FEED)) {
    $getNews(this, dynamicCast(event_0.context, 31));
  }
}

function onSuccess(feed){
  var entrie, iterator, news, result, widgetDescription;
  result = '';
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), feed.entries_0); iterator.i_0 < iterator.this$0.size_0();) {
    entrie = dynamicCast($next_1(iterator), 37);
    result += entrie.title_0 + ',';
    result += entrie.content_0;
    result += '\n';
  }
  this.newsList = $parse(result);
  news = $getNewsList(this.newsList);
  widgetDescription = feed.widgetDescription;
  widgetDescription.content_0 = result;
  widgetDescription.news = news;
  $fireActionEvent(this, ($clinit_126() , WIDGET_UPDATED), widgetDescription);
}

function NewsService(){
}

_ = NewsService.prototype = new EventAwareClass();
_.getClass$ = getClass_74;
_.onActionFired = onActionFired_4;
_.onSuccess = onSuccess;
_.typeId$ = 63;
_.newsList = null;
function $WidgetService(this$static){
  this$static.applicationListeners = $ArrayList(new ArrayList());
  (new WidgetBuilder()).applicationListeners = $ArrayList(new ArrayList());
  return this$static;
}

function $getWidgets(this$static, url){
  var feed;
  feed = $Feed(new Feed());
  $getFeed(feed, url + '#' + toString_4(fromDouble((new Date()).getTime())), this$static);
}

function getClass_75(){
  return Lcom_sfeir_poc_portal_gui_client_services_WidgetService_2_classlit;
}

function onActionFired_5(event_0){
  if (event_0.type_0 == ($clinit_126() , GET_WIDGETS)) {
    $getWidgets(this, dynamicCast(event_0.context, 1));
  }
}

function onSuccess_0(feed){
  var entrie, iterator, result;
  result = '';
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), feed.entries_0); iterator.i_0 < iterator.this$0.size_0();) {
    entrie = dynamicCast($next_1(iterator), 37);
    result += entrie.title_0 + ',';
    result += entrie.content_0 + '\n';
  }
  $fireActionEvent(this, ($clinit_126() , WIDGETS_UPDATED), result);
}

function WidgetService(){
}

_ = WidgetService.prototype = new EventAwareClass();
_.getClass$ = getClass_75;
_.onActionFired = onActionFired_5;
_.onSuccess = onSuccess_0;
_.typeId$ = 64;
function getClass_76(){
  return Lcom_sfeir_poc_portal_gui_client_services_feed_Entrie_2_classlit;
}

function Entrie(){
}

_ = Entrie.prototype = new Object_0();
_.getClass$ = getClass_76;
_.typeId$ = 65;
_.content_0 = null;
_.title_0 = null;
function $Feed(this$static){
  this$static.entries_0 = $ArrayList(new ArrayList());
  return this$static;
}

function $getFeed_0(this$static, url, in_feedListener, widgetDescription){
  var feed_0 = new $wnd.google.feeds.Feed(url);
  feed_0.setNumEntries(100);
  this$static.feedListener = in_feedListener;
  var thisss = this$static;
  feed_0.load(function(result){
    if (!result.error) {
      var feed = result.feed;
      thisss.setTitle(feed.title);
      thisss.setUrl(feed.url);
      thisss.setDescription(feed.description);
      thisss.setWidgetDescription(widgetDescription);
      for (i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];
        thisss.addEntrie(entry.title, entry.link, entry.content, entry.contentSnippet, entry.publishedDate);
      }
      thisss.activateListener('activateListener');
    }
  }
  );
}

function $getFeed(this$static, url, in_feedListener){
  var feed_0 = new $wnd.google.feeds.Feed(url);
  feed_0.setNumEntries(100);
  this$static.feedListener = in_feedListener;
  var thisss = this$static;
  feed_0.load(function(result){
    if (!result.error) {
      var feed = result.feed;
      thisss.setTitle(feed.title);
      thisss.setUrl(feed.url);
      thisss.setDescription(feed.description);
      for (i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];
        thisss.addEntrie(entry.title, entry.link, entry.content, entry.contentSnippet, entry.publishedDate);
      }
      thisss.activateListener('activateListener');
    }
  }
  );
}

function activateListener(test){
  this.feedListener.onSuccess(this);
}

function addEntrie(in_title, in_link, in_content, in_contentSnippet, in_publishedDate){
  var entrie;
  entrie = new Entrie();
  entrie.title_0 = in_title;
  entrie.content_0 = in_content;
  $add_6(this.entries_0, entrie);
}

function getClass_77(){
  return Lcom_sfeir_poc_portal_gui_client_services_feed_Feed_2_classlit;
}

function setDescription(description){
}

function setTitle(title){
}

function setUrl(url){
}

function setWidgetDescription(widgetDescription){
  this.widgetDescription = widgetDescription;
}

function Feed(){
}

_ = Feed.prototype = new Object_0();
_.activateListener = activateListener;
_.addEntrie = addEntrie;
_.getClass$ = getClass_77;
_.setDescription = setDescription;
_.setTitle = setTitle;
_.setUrl = setUrl;
_.setWidgetDescription = setWidgetDescription;
_.typeId$ = 0;
_.feedListener = null;
_.widgetDescription = null;
function $getNewsList(extractedNewsList){
  var currentNews, iterator, newsList, strings;
  newsList = $ArrayList(new ArrayList());
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), extractedNewsList); iterator.i_0 < iterator.this$0.size_0();) {
    strings = dynamicCast($next_1(iterator), 32);
    currentNews = new News();
    currentNews.date = strings[0];
    currentNews.titre = strings[1];
    currentNews.url_0 = strings[2];
    setCheck(newsList.array, newsList.size++, currentNews);
  }
  return newsList;
}

function $parse(text){
  var chaine, colonne, currentLine, currentWord, i_0, ligne, results;
  results = $ArrayList(new ArrayList());
  currentLine = initDim(_3Ljava_lang_String_2_classlit, 93, 1, 10, 0);
  chaine = initDim(_3C_classlit, 0, -1, text.length, 1);
  text += '\n';
  $getChars(text, 0, text.length - 1, chaine, 0);
  currentWord = '';
  ligne = 0;
  colonne = 0;
  for (i_0 = 0; i_0 < chaine.length; ++i_0) {
    if (chaine[i_0] == 10) {
      ++ligne;
      currentLine[colonne] = $substring(currentWord, currentWord.indexOf(fromCodePoint(58)) + 2);
      setCheck(results.array, results.size++, currentLine);
      currentLine = initDim(_3Ljava_lang_String_2_classlit, 93, 1, 10, 0);
      currentWord = '';
      colonne = 0;
    }
     else {
      if (chaine[i_0] == 44) {
        if (currentWord.indexOf(':') != -1)
          currentLine[colonne] = $substring(currentWord, currentWord.indexOf(fromCodePoint(58)) + 2);
        else 
          currentLine[colonne] = currentWord;
        currentWord = '';
        ++colonne;
      }
       else {
        currentWord += String.fromCharCode(chaine[i_0]);
      }
    }
  }
  return results;
}

function $WidgetBuilder(this$static){
  this$static.applicationListeners = $ArrayList(new ArrayList());
  return this$static;
}

function $createWidgetsView(this$static, widgets){
  var currentWidget, iterator, position, widgetsList, entrySet, outerIter, entry;
  widgetsList = $HashMap(new HashMap());
  for (iterator = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), (entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), widgets) , $AbstractMap$1(new AbstractMap$1(), widgets, entrySet)).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter)); $hasNext_0(iterator.val$outerIter.iter);) {
    position = dynamicCast((entry = dynamicCast($next_1(iterator.val$outerIter.iter), 40) , entry.getKey()), 33);
    currentWidget = dynamicCast(!position?widgets.nullSlot:$getHashValue(widgets, position, position.$H || (position.$H = ++sNextHashId)), 31);
    if (compareTo_3(currentWidget.type_0, 'rss') == 0) {
      currentWidget.content_0 = $getNewsHtml(currentWidget.news);
    }
     else {
      currentWidget.content_0 = $getHtmlForWidget(currentWidget);
      dynamicCast(!position?$putNullSlot(widgetsList, currentWidget):$putHashValue(widgetsList, position, currentWidget, position.$H || (position.$H = ++sNextHashId)), 31);
    }
  }
  $fireActionEvent(this$static, ($clinit_126() , RENDER_WIDGETS), widgets);
}

function $getHtmlForWidget(currentWidget){
  var html;
  html = '';
  if (compareTo_3(currentWidget.type_0, 'youtube') == 0) {
    html = '<object width="400" height="344"><param name="movie" value="' + currentWidget.url_0 + '"><\/param><param name="allowFullScreen" value="true"><\/param><embed src="' + currentWidget.url_0 + '" type="application/x-shockwave-flash" allowfullscreen="true" width="400" height="344"><\/embed><\/object>';
  }
   else if (compareTo_3(currentWidget.type_0, 'slideshare') == 0) {
    html = '<div style="width:400px;text-align:left" id="__ss_308972"><object style="margin:0px" width="400" height="355"><param name="movie" value="' + currentWidget.url_0 + '"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="' + currentWidget.url_0 + '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="355"><\/embed><\/object><\/div>';
  }
   else if (compareTo_3(currentWidget.type_0, 'vpodtv') == 0) {
    html = '<embed height="284" width="400" allowfullscreen="true" type="application/x-shockwave-flash" src="' + currentWidget.url_0 + '"/>';
  }
   else if (compareTo_3(currentWidget.type_0, 'googlemap') == 0) {
    html = '<iframe width="400" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.fr/maps?f=q&amp;hl=fr&amp;geocode=&amp;q=rue+des+Bourets+Suresnes&amp;sll=44.054038,5.047874&amp;sspn=0.005166,0.009398&amp;ie=UTF8&amp;s=AARTsJrkA0f2subIJSK2CbMW1xQ0zLPdfQ&amp;ll=48.875554,2.231684&amp;spn=0.016935,0.025749&amp;z=14&amp;iwloc=addr&amp;output=embed"><\/iframe><br /><small><a href="http://maps.google.fr/maps?f=q&amp;hl=fr&amp;geocode=&amp;q=rue+des+Bourets+Suresnes&amp;sll=44.054038,5.047874&amp;sspn=0.005166,0.009398&amp;ie=UTF8&amp;ll=48.875554,2.231684&amp;spn=0.016935,0.025749&amp;z=14&amp;iwloc=addr&amp;source=embed" target="_blank" style="color:#0000FF;text-align:left">Agrandir le plan<\/a><\/small>';
  }
   else if (compareTo_3(currentWidget.type_0, 'doc') == 0) {
    html = '<iframe width="400" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://docs.google.com/View?docid=dg7tzm9h_2c6rs9cg9"><\/iframe><br />';
  }
   else if (compareTo_3(currentWidget.type_0, 'lively') == 0) {
    html = "<iframe src='http://embed.lively.com/iframe?rid=3516548883177047187' width='400' height='400' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'><\/iframe>";
  }
   else 
    html = 'contenu';
  return html;
}

function $getNewsHtml(newss){
  var html, iterator, news;
  html = '<table width="100%">';
  for (iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), newss); iterator.i_0 < iterator.this$0.size_0();) {
    news = dynamicCast($next_1(iterator), 38);
    html += '<tr><td class="news"><small style="color: rgb(170, 170, 170);">' + news.date + '<\/small><\/td><td class="news"><a href="' + news.url_0 + '" target="_blank">' + news.titre + '<\/a><\/td><\/tr>';
  }
  html += '<\/table>';
  return html;
}

function $updateWidgetView(this$static, widgetDescription){
  if (compareTo_3(widgetDescription.type_0, 'spreadsheet') == 0) {
    widgetDescription.content_0 = $getNewsHtml(widgetDescription.news);
  }
   else if (compareTo_3(widgetDescription.type_0, 'spreadsheet') == 0) {
    widgetDescription.content_0 = $getNewsHtml(widgetDescription.news);
  }
   else {
    widgetDescription.content_0 = $getHtmlForWidget(widgetDescription);
  }
  $fireActionEvent(this$static, ($clinit_126() , RENDER_WIDGET), widgetDescription);
}

function getClass_78(){
  return Lcom_sfeir_poc_portal_gui_client_util_WidgetBuilder_2_classlit;
}

function onActionFired_6(event_0){
  if (event_0.type_0 == ($clinit_126() , CREATE_WIDGET_VIEWS)) {
    $createWidgetsView(this, dynamicCast(event_0.context, 36));
  }
   else if (event_0.type_0 == CREATE_WIDGET_VIEW) {
    $updateWidgetView(this, dynamicCast(event_0.context, 31));
  }
}

function WidgetBuilder(){
}

_ = WidgetBuilder.prototype = new EventAwareClass();
_.getClass$ = getClass_78;
_.onActionFired = onActionFired_6;
_.typeId$ = 66;
function $ArithmeticException(this$static, explanation){
  this$static.detailMessage = explanation;
  return this$static;
}

function getClass_79(){
  return Ljava_lang_ArithmeticException_2_classlit;
}

function ArithmeticException(){
}

_ = ArithmeticException.prototype = new RuntimeException();
_.getClass$ = getClass_79;
_.typeId$ = 67;
function getClass_80(){
  return Ljava_lang_ArrayStoreException_2_classlit;
}

function ArrayStoreException(){
}

_ = ArrayStoreException.prototype = new RuntimeException();
_.getClass$ = getClass_80;
_.typeId$ = 68;
function digit(c, radix){
  if (radix < 2 || radix > 36) {
    return -1;
  }
  if (c >= 48 && c < 48 + (radix < 10?radix:10)) {
    return c - 48;
  }
  if (c >= 97 && c < radix + 97 - 10) {
    return c - 97 + 10;
  }
  if (c >= 65 && c < radix + 65 - 10) {
    return c - 65 + 10;
  }
  return -1;
}

function createForArray(packageName, className){
  var clazz;
  clazz = new Class();
  clazz.typeName = packageName + className;
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className){
  var clazz;
  clazz = new Class();
  clazz.typeName = packageName + className;
  return clazz;
}

function createForEnum(packageName, className){
  var clazz;
  clazz = new Class();
  clazz.typeName = packageName + className;
  clazz.modifiers = 8;
  return clazz;
}

function getClass_82(){
  return Ljava_lang_Class_2_classlit;
}

function toString_7(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}

function Class(){
}

_ = Class.prototype = new Object_0();
_.getClass$ = getClass_82;
_.toString$ = toString_7;
_.typeId$ = 0;
_.modifiers = 0;
_.typeName = null;
function getClass_81(){
  return Ljava_lang_ClassCastException_2_classlit;
}

function ClassCastException(){
}

_ = ClassCastException.prototype = new RuntimeException();
_.getClass$ = getClass_81;
_.typeId$ = 71;
function __parseAndValidateInt(s, radix, lowerBound, upperBound){
  var i_0, length, startIndex, toReturn;
  if (s == null) {
    throw $NumberFormatException(new NumberFormatException(), 'null');
  }
  if (radix < 2 || radix > 36) {
    throw $NumberFormatException(new NumberFormatException(), 'radix ' + radix + ' out of range');
  }
  length = s.length;
  startIndex = length > 0 && s.charCodeAt(0) == 45?1:0;
  for (i_0 = startIndex; i_0 < length; ++i_0) {
    if (digit(s.charCodeAt(i_0), radix) == -1) {
      throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
    }
  }
  toReturn = parseInt(s, radix);
  if (isNaN(toReturn)) {
    throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
  }
   else if (toReturn < lowerBound || toReturn > upperBound) {
    throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
  }
  return toReturn;
}

function getClass_91(){
  return Ljava_lang_Number_2_classlit;
}

function Number_0(){
}

_ = Number_0.prototype = new Object_0();
_.getClass$ = getClass_91;
_.typeId$ = 72;
function $IllegalArgumentException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_85(){
  return Ljava_lang_IllegalArgumentException_2_classlit;
}

function IllegalArgumentException(){
}

_ = IllegalArgumentException.prototype = new RuntimeException();
_.getClass$ = getClass_85;
_.typeId$ = 73;
function $IllegalStateException(this$static, s){
  this$static.detailMessage = s;
  return this$static;
}

function getClass_86(){
  return Ljava_lang_IllegalStateException_2_classlit;
}

function IllegalStateException(){
}

_ = IllegalStateException.prototype = new RuntimeException();
_.getClass$ = getClass_86;
_.typeId$ = 74;
function $IndexOutOfBoundsException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_87(){
  return Ljava_lang_IndexOutOfBoundsException_2_classlit;
}

function IndexOutOfBoundsException(){
}

_ = IndexOutOfBoundsException.prototype = new RuntimeException();
_.getClass$ = getClass_87;
_.typeId$ = 75;
function $Integer(this$static, s){
  this$static.value = __parseAndValidateInt(s, 10, -2147483648, 2147483647);
  return this$static;
}

function compareTo_1(b){
  if (this.value < b.value) {
    return -1;
  }
   else if (this.value > b.value) {
    return 1;
  }
   else {
    return 0;
  }
}

function equals_2(o){
  return o != null && canCast(o.typeId$, 39) && dynamicCast(o, 39).value == this.value;
}

function getClass_88(){
  return Ljava_lang_Integer_2_classlit;
}

function hashCode_3(){
  return this.value;
}

function toPowerOfTwoString(value, shift){
  var bitMask, buf, bufSize, pos;
  bufSize = ~~(32 / shift);
  bitMask = (1 << shift) - 1;
  buf = initDim(_3C_classlit, 0, -1, bufSize, 1);
  pos = bufSize - 1;
  if (value >= 0) {
    while (value > bitMask) {
      buf[pos--] = ($clinit_158() , digits_0)[value & bitMask];
      value >>= shift;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = ($clinit_158() , digits_0)[value & bitMask];
      value >>= shift;
    }
  }
  buf[pos] = ($clinit_158() , digits_0)[value & bitMask];
  return __valueOf(buf, pos, bufSize);
}

function toString_9(){
  return '' + this.value;
}

function Integer(){
}

_ = Integer.prototype = new Number_0();
_.compareTo$ = compareTo_1;
_.equals$ = equals_2;
_.getClass$ = getClass_88;
_.hashCode$ = hashCode_3;
_.toString$ = toString_9;
_.typeId$ = 76;
_.value = 0;
function abs(x){
  return x < 0?-x:x;
}

function max(x, y){
  return x > y?x:y;
}

function min(x, y){
  return x < y?x:y;
}

function $NullPointerException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_89(){
  return Ljava_lang_NullPointerException_2_classlit;
}

function NullPointerException(){
}

_ = NullPointerException.prototype = new RuntimeException();
_.getClass$ = getClass_89;
_.typeId$ = 77;
function $clinit_158(){
  $clinit_158 = nullMethod;
  digits_0 = initValues(_3C_classlit, 0, -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
function $NumberFormatException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_90(){
  return Ljava_lang_NumberFormatException_2_classlit;
}

function NumberFormatException(){
}

_ = NumberFormatException.prototype = new IllegalArgumentException();
_.getClass$ = getClass_90;
_.typeId$ = 78;
function $getChars(this$static, srcBegin, srcEnd, dst, dstBegin){
  var srcIdx;
  for (srcIdx = srcBegin; srcIdx < srcEnd; ++srcIdx) {
    dst[dstBegin++] = this$static.charCodeAt(srcIdx);
  }
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function compareTo_3(thisStr, otherStr){
  thisStr = String(thisStr);
  if (thisStr == otherStr) {
    return 0;
  }
  return thisStr < otherStr?-1:1;
}

function compareTo_2(other){
  return compareTo_3(this, other);
}

function equals_4(other){
  if (!(other != null && canCast(other.typeId$, 1))) {
    return false;
  }
  return String(this) == other;
}

function fromCodePoint(codePoint){
  var hiSurrogate, loSurrogate;
  if (codePoint >= 65536) {
    hiSurrogate = 55296 + (codePoint - 65536 >> 10 & 1023) & 65535;
    loSurrogate = 56320 + (codePoint - 65536 & 1023) & 65535;
    return String.fromCharCode(hiSurrogate) + String.fromCharCode(loSurrogate);
  }
   else {
    return String.fromCharCode(codePoint & 65535);
  }
}

function getClass_96(){
  return Ljava_lang_String_2_classlit;
}

function hashCode_5(){
  return getHashCode_0(this);
}

function toString_13(){
  return this;
}

_ = String.prototype;
_.compareTo$ = compareTo_2;
_.equals$ = equals_4;
_.getClass$ = getClass_96;
_.hashCode$ = hashCode_5;
_.toString$ = toString_13;
_.typeId$ = 2;
function $clinit_163(){
  $clinit_163 = nullMethod;
  back = {};
  front = {};
}

function compute(str){
  var hashCode, i_0, inc, n;
  n = str.length;
  inc = n < 64?1:~~(n / 32);
  hashCode = 0;
  for (i_0 = 0; i_0 < n; i_0 += inc) {
    hashCode <<= 1;
    hashCode += str.charCodeAt(i_0);
  }
  hashCode |= 0;
  return hashCode;
}

function getHashCode_0(str){
  $clinit_163();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back[key];
  if (result == null) {
    result = compute(str);
  }
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back, count_0 = 0, front;
function $StringBuffer(this$static){
  this$static.builder = $StringBuilder(new StringBuilder());
  return this$static;
}

function $append(this$static, toAppend){
  $append_0(this$static.builder, toAppend);
  return this$static;
}

function getClass_94(){
  return Ljava_lang_StringBuffer_2_classlit;
}

function toString_11(){
  return $toString_1(this.builder);
}

function StringBuffer(){
}

_ = StringBuffer.prototype = new Object_0();
_.getClass$ = getClass_94;
_.toString$ = toString_11;
_.typeId$ = 79;
function $StringBuilder(this$static){
  this$static.stringArray = initDim(_3Ljava_lang_String_2_classlit, 93, 1, 0, 0);
  return this$static;
}

function $append_0(this$static, toAppend){
  var appendLength;
  if (toAppend == null) {
    toAppend = 'null';
  }
  appendLength = toAppend.length;
  if (appendLength > 0) {
    this$static.stringArray[this$static.arrayLen++] = toAppend;
    this$static.stringLength += appendLength;
    if (this$static.arrayLen > 1024) {
      $toString_1(this$static);
      this$static.stringArray.length = 1024;
    }
  }
  return this$static;
}

function $toString_1(this$static){
  var s;
  if (this$static.arrayLen != 1) {
    this$static.stringArray.length = this$static.arrayLen;
    s = this$static.stringArray.join('');
    this$static.stringArray = initValues(_3Ljava_lang_String_2_classlit, 93, 1, [s]);
    this$static.arrayLen = 1;
  }
  return this$static.stringArray[0];
}

function getClass_95(){
  return Ljava_lang_StringBuilder_2_classlit;
}

function toString_12(){
  return $toString_1(this);
}

function StringBuilder(){
}

_ = StringBuilder.prototype = new Object_0();
_.getClass$ = getClass_95;
_.toString$ = toString_12;
_.typeId$ = 80;
_.arrayLen = 0;
_.stringLength = 0;
function $UnsupportedOperationException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_98(){
  return Ljava_lang_UnsupportedOperationException_2_classlit;
}

function UnsupportedOperationException(){
}

_ = UnsupportedOperationException.prototype = new RuntimeException();
_.getClass$ = getClass_98;
_.typeId$ = 81;
function $values(this$static){
  var entrySet;
  entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), this$static);
  return $AbstractMap$2(new AbstractMap$2(), this$static, entrySet);
}

function equals_7(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if ((obj == null?null:obj) === (this == null?null:this)) {
    return true;
  }
  if (!(obj != null && canCast(obj.typeId$, 36))) {
    return false;
  }
  otherMap = dynamicCast(obj, 36);
  if (dynamicCast(this, 36).size != otherMap.size) {
    return false;
  }
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), otherMap).this$0); $hasNext_0(entry$iterator.iter);) {
    entry = dynamicCast($next_1(entry$iterator.iter), 40);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!(otherKey == null?dynamicCast(this, 36).nullSlotLive:otherKey != null && canCast(otherKey.typeId$, 1)?$hasStringValue(dynamicCast(this, 36), dynamicCast(otherKey, 1)):$hasHashValue(dynamicCast(this, 36), otherKey, hashCode__devirtual$(otherKey)))) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, otherKey == null?dynamicCast(this, 36).nullSlot:otherKey != null && canCast(otherKey.typeId$, 1)?dynamicCast(this, 36).stringMap[':' + dynamicCast(otherKey, 1)]:$getHashValue(dynamicCast(this, 36), otherKey, hashCode__devirtual$(otherKey)))) {
      return false;
    }
  }
  return true;
}

function getClass_112(){
  return Ljava_util_AbstractMap_2_classlit;
}

function hashCode_8(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), dynamicCast(this, 36)).this$0); $hasNext_0(entry$iterator.iter);) {
    entry = dynamicCast($next_1(entry$iterator.iter), 40);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}

function toString_17(){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), dynamicCast(this, 36)).this$0); $hasNext_0(iter.iter);) {
    entry = dynamicCast($next_1(iter.iter), 40);
    if (comma) {
      s += ', ';
    }
     else {
      comma = true;
    }
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}

function AbstractMap(){
}

_ = AbstractMap.prototype = new Object_0();
_.equals$ = equals_7;
_.getClass$ = getClass_112;
_.hashCode$ = hashCode_8;
_.toString$ = toString_17;
_.typeId$ = 0;
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    if (hashCode == parseInt(hashCode)) {
      var array = hashCodeMap[hashCode];
      for (var i_0 = 0, c = array.length; i_0 < c; ++i_0) {
        dest.add_0(array[i_0]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new_$(this$static, key.substring(1));
      dest.add_0(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size = 0;
}

function $containsHashValue(this$static, value){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    if (hashCode == parseInt(hashCode)) {
      var array = hashCodeMap[hashCode];
      for (var i_0 = 0, c = array.length; i_0 < c; ++i_0) {
        var entry = array[i_0];
        var entryValue = entry.getValue();
        if (this$static.equalsBridge(value, entryValue)) {
          return true;
        }
      }
    }
  }
  return false;
}

function $containsKey(this$static, key){
  return key == null?this$static.nullSlotLive:key != null && canCast(key.typeId$, 1)?$hasStringValue(this$static, dynamicCast(key, 1)):$hasHashValue(this$static, key, hashCode__devirtual$(key));
}

function $containsStringValue(this$static, value){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entryValue = stringMap[key];
      if (this$static.equalsBridge(value, entryValue)) {
        return true;
      }
    }
  }
  return false;
}

function $containsValue(this$static, value){
  if (this$static.nullSlotLive && $equals_0(this$static.nullSlot, value)) {
    return true;
  }
   else if ($containsStringValue(this$static, value)) {
    return true;
  }
   else if ($containsHashValue(this$static, value)) {
    return true;
  }
  return false;
}

function $get_0(this$static, key){
  return key == null?this$static.nullSlot:key != null && canCast(key.typeId$, 1)?this$static.stringMap[':' + dynamicCast(key, 1)]:$getHashValue(this$static, key, hashCode__devirtual$(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i_0 = 0, c = array.length; i_0 < c; ++i_0) {
      var entry = array[i_0];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i_0 = 0, c = array.length; i_0 < c; ++i_0) {
      var entry = array[i_0];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put(this$static, key, value){
  return key == null?$putNullSlot(this$static, value):key != null && canCast(key.typeId$, 1)?$putStringValue(this$static, dynamicCast(key, 1), value):$putHashValue(this$static, key, value, hashCode__devirtual$(key));
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i_0 = 0, c = array.length; i_0 < c; ++i_0) {
      var entry = array[i_0];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = $MapEntryImpl(new MapEntryImpl(), key, value);
  array.push(entry);
  ++this$static.size;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  if (key in stringMap) {
    result = stringMap[key];
  }
   else {
    ++this$static.size;
  }
  stringMap[key] = value;
  return result;
}

function equalsBridge(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_104(){
  return Ljava_util_AbstractHashMap_2_classlit;
}

function AbstractHashMap(){
}

_ = AbstractHashMap.prototype = new AbstractMap();
_.equalsBridge = equalsBridge;
_.getClass$ = getClass_104;
_.typeId$ = 0;
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size = 0;
_.stringMap = null;
function equals_8(o){
  var iter, other, otherItem;
  if ((o == null?null:o) === (this == null?null:this)) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 42))) {
    return false;
  }
  other = dynamicCast(o, 42);
  if (other.size_0() != this.size_0()) {
    return false;
  }
  for (iter = other.iterator_0(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains_0(otherItem)) {
      return false;
    }
  }
  return true;
}

function getClass_113(){
  return Ljava_util_AbstractSet_2_classlit;
}

function hashCode_9(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator_0(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}

function AbstractSet(){
}

_ = AbstractSet.prototype = new AbstractCollection();
_.equals$ = equals_8;
_.getClass$ = getClass_113;
_.hashCode$ = hashCode_9;
_.typeId$ = 82;
function $AbstractHashMap$EntrySet(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $contains(this$static, o){
  var entry, key, value;
  if (o != null && canCast(o.typeId$, 40)) {
    entry = dynamicCast(o, 40);
    key = entry.getKey();
    if ($containsKey(this$static.this$0, key)) {
      value = $get_0(this$static.this$0, key);
      return $equals_0(entry.getValue(), value);
    }
  }
  return false;
}

function contains_0(o){
  return $contains(this, o);
}

function getClass_101(){
  return Ljava_util_AbstractHashMap$EntrySet_2_classlit;
}

function iterator_2(){
  return $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), this.this$0);
}

function size_0(){
  return this.this$0.size;
}

function AbstractHashMap$EntrySet(){
}

_ = AbstractHashMap$EntrySet.prototype = new AbstractSet();
_.contains_0 = contains_0;
_.getClass$ = getClass_101;
_.iterator_0 = iterator_2;
_.size_0 = size_0;
_.typeId$ = 83;
_.this$0 = null;
function $AbstractHashMap$EntrySetIterator(this$static, this$0){
  var list;
  this$static.this$0 = this$0;
  list = $ArrayList(new ArrayList());
  if (this$static.this$0.nullSlotLive) {
    $add_6(list, $AbstractHashMap$MapEntryNull(new AbstractHashMap$MapEntryNull(), this$static.this$0));
  }
  $addAllStringEntries(this$static.this$0, list);
  $addAllHashEntries(this$static.this$0, list);
  this$static.iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), list);
  return this$static;
}

function getClass_100(){
  return Ljava_util_AbstractHashMap$EntrySetIterator_2_classlit;
}

function hasNext_2(){
  return $hasNext_0(this.iter);
}

function next_3(){
  return dynamicCast($next_1(this.iter), 40);
}

function AbstractHashMap$EntrySetIterator(){
}

_ = AbstractHashMap$EntrySetIterator.prototype = new Object_0();
_.getClass$ = getClass_100;
_.hasNext = hasNext_2;
_.next_0 = next_3;
_.typeId$ = 0;
_.iter = null;
_.this$0 = null;
function equals_6(other){
  var entry;
  if (other != null && canCast(other.typeId$, 40)) {
    entry = dynamicCast(other, 40);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}

function getClass_111(){
  return Ljava_util_AbstractMapEntry_2_classlit;
}

function hashCode_7(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  if (this.getKey() != null) {
    keyHash = hashCode__devirtual$(this.getKey());
  }
  if (this.getValue() != null) {
    valueHash = hashCode__devirtual$(this.getValue());
  }
  return keyHash ^ valueHash;
}

function toString_16(){
  return this.getKey() + '=' + this.getValue();
}

function AbstractMapEntry(){
}

_ = AbstractMapEntry.prototype = new Object_0();
_.equals$ = equals_6;
_.getClass$ = getClass_111;
_.hashCode$ = hashCode_7;
_.toString$ = toString_16;
_.typeId$ = 84;
function $AbstractHashMap$MapEntryNull(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_102(){
  return Ljava_util_AbstractHashMap$MapEntryNull_2_classlit;
}

function getKey(){
  return null;
}

function getValue(){
  return this.this$0.nullSlot;
}

function setValue(object){
  return $putNullSlot(this.this$0, object);
}

function AbstractHashMap$MapEntryNull(){
}

_ = AbstractHashMap$MapEntryNull.prototype = new AbstractMapEntry();
_.getClass$ = getClass_102;
_.getKey = getKey;
_.getValue = getValue;
_.setValue = setValue;
_.typeId$ = 85;
_.this$0 = null;
function $AbstractHashMap$MapEntryString(this$static, key, this$0){
  this$static.this$0 = this$0;
  this$static.key = key;
  return this$static;
}

function getClass_103(){
  return Ljava_util_AbstractHashMap$MapEntryString_2_classlit;
}

function getKey_0(){
  return this.key;
}

function getValue_0(){
  return this.this$0.stringMap[':' + this.key];
}

function new_$(this$outer, key){
  return $AbstractHashMap$MapEntryString(new AbstractHashMap$MapEntryString(), key, this$outer);
}

function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}

function AbstractHashMap$MapEntryString(){
}

_ = AbstractHashMap$MapEntryString.prototype = new AbstractMapEntry();
_.getClass$ = getClass_103;
_.getKey = getKey_0;
_.getValue = getValue_0;
_.setValue = setValue_0;
_.typeId$ = 86;
_.key = null;
_.this$0 = null;
function $AbstractList$IteratorImpl(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $hasNext_0(this$static){
  return this$static.i_0 < this$static.this$0.size_0();
}

function $next_1(this$static){
  if (this$static.i_0 >= this$static.this$0.size_0()) {
    throw new NoSuchElementException();
  }
  return this$static.this$0.get(this$static.last = this$static.i_0++);
}

function $remove_6(this$static){
  if (this$static.last < 0) {
    throw new IllegalStateException();
  }
  this$static.this$0.remove(this$static.last);
  this$static.i_0 = this$static.last;
  this$static.last = -1;
}

function getClass_105(){
  return Ljava_util_AbstractList$IteratorImpl_2_classlit;
}

function hasNext_3(){
  return this.i_0 < this.this$0.size_0();
}

function next_4(){
  return $next_1(this);
}

function AbstractList$IteratorImpl(){
}

_ = AbstractList$IteratorImpl.prototype = new Object_0();
_.getClass$ = getClass_105;
_.hasNext = hasNext_3;
_.next_0 = next_4;
_.typeId$ = 0;
_.i_0 = 0;
_.last = -1;
_.this$0 = null;
function $AbstractMap$1(this$static, this$0, val$entrySet){
  this$static.this$0 = this$0;
  this$static.val$entrySet = val$entrySet;
  return this$static;
}

function contains_1(key){
  return $containsKey(this.this$0, key);
}

function getClass_108(){
  return Ljava_util_AbstractMap$1_2_classlit;
}

function iterator_4(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), this.val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter);
}

function size_1(){
  return this.val$entrySet.this$0.size;
}

function AbstractMap$1(){
}

_ = AbstractMap$1.prototype = new AbstractSet();
_.contains_0 = contains_1;
_.getClass$ = getClass_108;
_.iterator_0 = iterator_4;
_.size_0 = size_1;
_.typeId$ = 87;
_.this$0 = null;
_.val$entrySet = null;
function $AbstractMap$1$1(this$static, val$outerIter){
  this$static.val$outerIter = val$outerIter;
  return this$static;
}

function getClass_107(){
  return Ljava_util_AbstractMap$1$1_2_classlit;
}

function hasNext_4(){
  return $hasNext_0(this.val$outerIter.iter);
}

function next_5(){
  var entry;
  return entry = dynamicCast($next_1(this.val$outerIter.iter), 40) , entry.getKey();
}

function AbstractMap$1$1(){
}

_ = AbstractMap$1$1.prototype = new Object_0();
_.getClass$ = getClass_107;
_.hasNext = hasNext_4;
_.next_0 = next_5;
_.typeId$ = 0;
_.val$outerIter = null;
function $AbstractMap$2(this$static, this$0, val$entrySet){
  this$static.this$0 = this$0;
  this$static.val$entrySet = val$entrySet;
  return this$static;
}

function contains_2(value){
  return $containsValue(this.this$0, value);
}

function getClass_110(){
  return Ljava_util_AbstractMap$2_2_classlit;
}

function iterator_5(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), this.val$entrySet.this$0) , $AbstractMap$2$1(new AbstractMap$2$1(), outerIter);
}

function size_2(){
  return this.val$entrySet.this$0.size;
}

function AbstractMap$2(){
}

_ = AbstractMap$2.prototype = new AbstractCollection();
_.contains_0 = contains_2;
_.getClass$ = getClass_110;
_.iterator_0 = iterator_5;
_.size_0 = size_2;
_.typeId$ = 0;
_.this$0 = null;
_.val$entrySet = null;
function $AbstractMap$2$1(this$static, val$outerIter){
  this$static.val$outerIter = val$outerIter;
  return this$static;
}

function getClass_109(){
  return Ljava_util_AbstractMap$2$1_2_classlit;
}

function hasNext_5(){
  return $hasNext_0(this.val$outerIter.iter);
}

function next_6(){
  var value;
  return value = dynamicCast($next_1(this.val$outerIter.iter), 40).getValue() , value;
}

function AbstractMap$2$1(){
}

_ = AbstractMap$2$1.prototype = new Object_0();
_.getClass$ = getClass_109;
_.hasNext = hasNext_5;
_.next_0 = next_6;
_.typeId$ = 0;
_.val$outerIter = null;
function insertionSort(array, low, high){
  var i_0, j, t;
  for (i_0 = low + 1; i_0 < high; ++i_0) {
    for (j = i_0; j > low && dynamicCast(array[j - 1], 9).compareTo$(array[j]) > 0; --j) {
      t = array[j];
      setCheck(array, j, array[j - 1]);
      setCheck(array, j - 1, t);
    }
  }
}

function merge(src, srcLow, srcMid, srcHigh, dest, destLow, destHigh){
  var topIdx;
  topIdx = srcMid;
  while (destLow < destHigh) {
    if (topIdx >= srcHigh || srcLow < srcMid && dynamicCast(src[srcLow], 9).compareTo$(src[topIdx]) <= 0) {
      setCheck(dest, destLow++, src[srcLow++]);
    }
     else {
      setCheck(dest, destLow++, src[topIdx++]);
    }
  }
}

function mergeSort(x, fromIndex, toIndex, comp){
  var temp, a, result;
  temp = (a = x , result = a.slice(fromIndex, toIndex) , initValues(a.arrayClass$, a.typeId$, a.queryId$, result) , result);
  mergeSort_0(temp, x, fromIndex, toIndex, -fromIndex, comp);
}

function mergeSort_0(temp, array, low, high, ofs, comp){
  var length, tempHigh, tempLow, tempMid;
  length = high - low;
  if (length < 7) {
    insertionSort(array, low, high);
    return;
  }
  tempLow = low + ofs;
  tempHigh = high + ofs;
  tempMid = tempLow + (tempHigh - tempLow >> 1);
  mergeSort_0(array, temp, tempLow, tempMid, -ofs, comp);
  mergeSort_0(array, temp, tempMid, tempHigh, -ofs, comp);
  if (dynamicCast(temp[tempMid - 1], 9).compareTo$(temp[tempMid]) <= 0) {
    while (low < high) {
      setCheck(array, low++, temp[tempLow++]);
    }
    return;
  }
  merge(temp, tempLow, tempMid, tempHigh, array, low, high);
}

function sort(array){
  mergeSort(array, 0, array.length, ($clinit_190() , NATURAL));
}

function $clinit_190(){
  $clinit_190 = nullMethod;
  NATURAL = new Comparators$1();
}

var NATURAL;
function getClass_115(){
  return Ljava_util_Comparators$1_2_classlit;
}

function Comparators$1(){
}

_ = Comparators$1.prototype = new Object_0();
_.getClass$ = getClass_115;
_.typeId$ = 0;
function $HashMap(this$static){
  $clearImpl(this$static);
  return this$static;
}

function $equals_0(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_116(){
  return Ljava_util_HashMap_2_classlit;
}

function HashMap(){
}

_ = HashMap.prototype = new AbstractHashMap();
_.getClass$ = getClass_116;
_.typeId$ = 88;
function $MapEntryImpl(this$static, key, value){
  this$static.key = key;
  this$static.value = value;
  return this$static;
}

function getClass_117(){
  return Ljava_util_MapEntryImpl_2_classlit;
}

function getKey_1(){
  return this.key;
}

function getValue_1(){
  return this.value;
}

function setValue_1(value){
  var old;
  old = this.value;
  this.value = value;
  return old;
}

function MapEntryImpl(){
}

_ = MapEntryImpl.prototype = new AbstractMapEntry();
_.getClass$ = getClass_117;
_.getKey = getKey_1;
_.getValue = getValue_1;
_.setValue = setValue_1;
_.typeId$ = 89;
_.key = null;
_.value = null;
function getClass_118(){
  return Ljava_util_NoSuchElementException_2_classlit;
}

function NoSuchElementException(){
}

_ = NoSuchElementException.prototype = new RuntimeException();
_.getClass$ = getClass_118;
_.typeId$ = 90;
function equalsWithNullCheck(a, b){
  return (a == null?null:a) === (b == null?null:b) || a != null && equals__devirtual$(a, b);
}

function init_0(){
  !!$stats && $stats($moduleName, 'startup', 'onModuleLoadStart:SfeirPortal', {millis:(new Date()).getTime()});
  $add(($clinit_95() , get_0(null)), $Application(new Application()));
}

function gwtOnLoad(errFn, modName, modBase){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      init_0();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    init_0();
  }
}

function nullMethod(){
}

var Ljava_lang_Object_2_classlit = createForClass('java.lang.', 'Object'), Lcom_allen_1sauer_gwt_dnd_client_AbstractDragController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'AbstractDragController'), Lcom_allen_1sauer_gwt_dnd_client_DeferredMoveCommand_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DeferredMoveCommand'), Lcom_allen_1sauer_gwt_dnd_client_DragContext_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DragContext'), _3Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classlit = createForArray('[Lcom.allen_sauer.gwt.dnd.client.', 'DropControllerCollection$Candidate;'), Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DropControllerCollection'), Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DropControllerCollection$Candidate'), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler'), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler$1_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler$1'), Lcom_allen_1sauer_gwt_dnd_client_PickupDragController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'PickupDragController'), Lcom_allen_1sauer_gwt_dnd_client_PickupDragController$SavedWidgetInfo_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'PickupDragController$SavedWidgetInfo'), Ljava_lang_Throwable_2_classlit = createForClass('java.lang.', 'Throwable'), Ljava_lang_Exception_2_classlit = createForClass('java.lang.', 'Exception'), Lcom_allen_1sauer_gwt_dnd_client_VetoDragException_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.', 'VetoDragException'), Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractDropController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbstractDropController'), Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractPositioningDropController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbstractPositioningDropController'), Lcom_allen_1sauer_gwt_dnd_client_drop_AbsolutePositionDropController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbsolutePositionDropController'), Lcom_allen_1sauer_gwt_dnd_client_drop_AbsolutePositionDropController$Draggable_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbsolutePositionDropController$Draggable'), Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractIndexedDropController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbstractIndexedDropController'), Lcom_allen_1sauer_gwt_dnd_client_drop_BoundaryDropController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'BoundaryDropController'), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel'), Lcom_allen_1sauer_gwt_dnd_client_drop_IndexedDropController_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'IndexedDropController'), Lcom_allen_1sauer_gwt_dnd_client_util_AbstractArea_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'AbstractArea'), Lcom_allen_1sauer_gwt_dnd_client_util_AbstractLocation_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'AbstractLocation'), Lcom_allen_1sauer_gwt_dnd_client_util_CoordinateLocation_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'CoordinateLocation'), Lcom_allen_1sauer_gwt_dnd_client_util_LocationWidgetComparator_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'LocationWidgetComparator'), Lcom_allen_1sauer_gwt_dnd_client_util_LocationWidgetComparator$1_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'LocationWidgetComparator$1'), Lcom_allen_1sauer_gwt_dnd_client_util_WidgetArea_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'WidgetArea'), Lcom_allen_1sauer_gwt_dnd_client_util_WidgetLocation_2_classlit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'WidgetLocation'), Ljava_lang_RuntimeException_2_classlit = createForClass('java.lang.', 'RuntimeException'), Lcom_google_gwt_core_client_JavaScriptException_2_classlit = createForClass('com.google.gwt.core.client.', 'JavaScriptException'), Lcom_google_gwt_core_client_JavaScriptObject_2_classlit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$'), _3_3D_classlit = createForArray('', '[[D'), Lcom_google_gwt_user_client_CommandCanceledException_2_classlit = createForClass('com.google.gwt.user.client.', 'CommandCanceledException'), Lcom_google_gwt_user_client_CommandExecutor_2_classlit = createForClass('com.google.gwt.user.client.', 'CommandExecutor'), Lcom_google_gwt_user_client_Timer_2_classlit = createForClass('com.google.gwt.user.client.', 'Timer'), Lcom_google_gwt_user_client_CommandExecutor$1_2_classlit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$1'), Lcom_google_gwt_user_client_CommandExecutor$2_2_classlit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$2'), Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classlit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$CircularIterator'), Lcom_google_gwt_user_client_Timer$1_2_classlit = createForClass('com.google.gwt.user.client.', 'Timer$1'), Lcom_google_gwt_user_client_impl_DocumentRootImpl_2_classlit = createForClass('com.google.gwt.user.client.impl.', 'DocumentRootImpl'), Lcom_google_gwt_user_client_ui_UIObject_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'UIObject'), Lcom_google_gwt_user_client_ui_Widget_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'Widget'), Lcom_google_gwt_user_client_ui_Panel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'Panel'), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel'), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel'), Lcom_google_gwt_user_client_ui_CellPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel'), Lcom_google_gwt_user_client_ui_Composite_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'Composite'), Lcom_google_gwt_user_client_ui_SimplePanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel'), _3Ljava_lang_String_2_classlit = createForArray('[Ljava.lang.', 'String;'), Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'DecoratorPanel'), Lcom_google_gwt_user_client_ui_FocusPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'FocusPanel'), Lcom_google_gwt_user_client_ui_Label_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'Label'), Lcom_google_gwt_user_client_ui_HTML_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'HTML'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel'), Ljava_util_AbstractCollection_2_classlit = createForClass('java.util.', 'AbstractCollection'), Ljava_util_AbstractList_2_classlit = createForClass('java.util.', 'AbstractList'), _3Ljava_lang_Object_2_classlit = createForArray('[Ljava.lang.', 'Object;'), Ljava_util_ArrayList_2_classlit = createForClass('java.util.', 'ArrayList'), Lcom_google_gwt_user_client_ui_MouseListenerCollection_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'MouseListenerCollection'), Lcom_google_gwt_user_client_ui_RootPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1'), Lcom_google_gwt_user_client_ui_ScrollPanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'ScrollPanel'), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1'), Lcom_google_gwt_user_client_ui_TabBar_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'TabBar'), Lcom_google_gwt_user_client_ui_TabBar$ClickDelegatePanel_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'TabBar$ClickDelegatePanel'), Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'TabListenerCollection'), _3Lcom_google_gwt_user_client_ui_Widget_2_classlit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;'), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection'), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classlit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator'), Lcom_sfeir_poc_portal_gui_client_Application_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.', 'Application'), Lcom_sfeir_poc_portal_gui_client_EventAwareClass_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.', 'EventAwareClass'), Lcom_sfeir_poc_portal_gui_client_WidgetFactory_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.', 'WidgetFactory'), Lcom_sfeir_poc_portal_gui_client_controller_Controller_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.controller.', 'Controller'), Lcom_sfeir_poc_portal_gui_client_dnd_IndexedPanelExample_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.dnd.', 'IndexedPanelExample'), Lcom_sfeir_poc_portal_gui_client_dnd_IndexedPanelExample$1_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.dnd.', 'IndexedPanelExample$1'), Lcom_sfeir_poc_portal_gui_client_dnd_NoInsertAtEndIndexedDropController_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.dnd.', 'NoInsertAtEndIndexedDropController'), Lcom_sfeir_poc_portal_gui_client_dnd_WindowPanel_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.dnd.', 'WindowPanel'), Lcom_sfeir_poc_portal_gui_client_events_ApplicationEvent_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.events.', 'ApplicationEvent'), Ljava_lang_Enum_2_classlit = createForClass('java.lang.', 'Enum'), Lcom_sfeir_poc_portal_gui_client_events_ApplicationEventType_2_classlit = createForEnum('com.sfeir.poc.portal.gui.client.events.', 'ApplicationEventType'), Lcom_sfeir_poc_portal_gui_client_objects_News_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.objects.', 'News'), Lcom_sfeir_poc_portal_gui_client_objects_Position_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.objects.', 'Position'), Lcom_sfeir_poc_portal_gui_client_objects_WidgetDescription_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.objects.', 'WidgetDescription'), Lcom_sfeir_poc_portal_gui_client_services_NewsService_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.services.', 'NewsService'), Lcom_sfeir_poc_portal_gui_client_services_WidgetService_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.services.', 'WidgetService'), Lcom_sfeir_poc_portal_gui_client_services_feed_Entrie_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.services.feed.', 'Entrie'), Lcom_sfeir_poc_portal_gui_client_services_feed_Feed_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.services.feed.', 'Feed'), _3C_classlit = createForArray('', '[C'), Lcom_sfeir_poc_portal_gui_client_util_WidgetBuilder_2_classlit = createForClass('com.sfeir.poc.portal.gui.client.util.', 'WidgetBuilder'), Ljava_lang_ArithmeticException_2_classlit = createForClass('java.lang.', 'ArithmeticException'), Ljava_lang_ArrayStoreException_2_classlit = createForClass('java.lang.', 'ArrayStoreException'), Ljava_lang_Class_2_classlit = createForClass('java.lang.', 'Class'), Ljava_lang_ClassCastException_2_classlit = createForClass('java.lang.', 'ClassCastException'), Ljava_lang_Number_2_classlit = createForClass('java.lang.', 'Number'), Ljava_lang_IllegalArgumentException_2_classlit = createForClass('java.lang.', 'IllegalArgumentException'), Ljava_lang_IllegalStateException_2_classlit = createForClass('java.lang.', 'IllegalStateException'), Ljava_lang_IndexOutOfBoundsException_2_classlit = createForClass('java.lang.', 'IndexOutOfBoundsException'), Ljava_lang_Integer_2_classlit = createForClass('java.lang.', 'Integer'), Ljava_lang_NullPointerException_2_classlit = createForClass('java.lang.', 'NullPointerException'), Ljava_lang_NumberFormatException_2_classlit = createForClass('java.lang.', 'NumberFormatException'), Ljava_lang_String_2_classlit = createForClass('java.lang.', 'String'), Ljava_lang_StringBuffer_2_classlit = createForClass('java.lang.', 'StringBuffer'), Ljava_lang_StringBuilder_2_classlit = createForClass('java.lang.', 'StringBuilder'), Ljava_lang_UnsupportedOperationException_2_classlit = createForClass('java.lang.', 'UnsupportedOperationException'), Ljava_util_AbstractMap_2_classlit = createForClass('java.util.', 'AbstractMap'), Ljava_util_AbstractHashMap_2_classlit = createForClass('java.util.', 'AbstractHashMap'), Ljava_util_AbstractSet_2_classlit = createForClass('java.util.', 'AbstractSet'), Ljava_util_AbstractHashMap$EntrySet_2_classlit = createForClass('java.util.', 'AbstractHashMap$EntrySet'), Ljava_util_AbstractHashMap$EntrySetIterator_2_classlit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator'), Ljava_util_AbstractMapEntry_2_classlit = createForClass('java.util.', 'AbstractMapEntry'), Ljava_util_AbstractHashMap$MapEntryNull_2_classlit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull'), Ljava_util_AbstractHashMap$MapEntryString_2_classlit = createForClass('java.util.', 'AbstractHashMap$MapEntryString'), Ljava_util_AbstractList$IteratorImpl_2_classlit = createForClass('java.util.', 'AbstractList$IteratorImpl'), Ljava_util_AbstractMap$1_2_classlit = createForClass('java.util.', 'AbstractMap$1'), Ljava_util_AbstractMap$1$1_2_classlit = createForClass('java.util.', 'AbstractMap$1$1'), Ljava_util_AbstractMap$2_2_classlit = createForClass('java.util.', 'AbstractMap$2'), Ljava_util_AbstractMap$2$1_2_classlit = createForClass('java.util.', 'AbstractMap$2$1'), Ljava_util_Comparators$1_2_classlit = createForClass('java.util.', 'Comparators$1'), Ljava_util_HashMap_2_classlit = createForClass('java.util.', 'HashMap'), Ljava_util_MapEntryImpl_2_classlit = createForClass('java.util.', 'MapEntryImpl'), Ljava_util_NoSuchElementException_2_classlit = createForClass('java.util.', 'NoSuchElementException');
$stats && $stats('com.sfeir.poc.portal.gui.SfeirPortal', 'startup', 'moduleEvalEnd', {millis:(new Date()).getTime()});
if ($wnd.com_sfeir_poc_portal_gui_SfeirPortal) $wnd.com_sfeir_poc_portal_gui_SfeirPortal.onScriptLoad();
--></script></body></html>
